From d28da3247dc94a3902df4899f9aecfc239ae90e9 Mon Sep 17 00:00:00 2001 From: Danny Coates Date: Wed, 13 Mar 2019 10:30:03 -0700 Subject: [PATCH] enable promo banner --- app/capabilities.js | 7 ++++++- app/ui/body.js | 10 +++++++++- app/ui/promo.js | 3 ++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/capabilities.js b/app/capabilities.js index 781518c2..6e3af90f 100644 --- a/app/capabilities.js +++ b/app/capabilities.js @@ -93,6 +93,10 @@ export default async function getCapabilities() { const share = typeof navigator.share === 'function' && LOCALE.startsWith('en'); // en until strings merge + const standalone = + window.matchMedia('(display-mode: standalone)').matches || + navigator.standalone; + return { account, crypto, @@ -101,6 +105,7 @@ export default async function getCapabilities() { streamDownload: nativeStreams && serviceWorker && browserName() !== 'safari', multifile: nativeStreams || polyStreams, - share + share, + standalone }; } diff --git a/app/ui/body.js b/app/ui/body.js index 08bf26bd..6372ebb9 100644 --- a/app/ui/body.js +++ b/app/ui/body.js @@ -4,7 +4,15 @@ const Header = require('./header'); const Footer = require('./footer'); function banner(state) { - if (state.promo && !state.route.startsWith('/unsupported/')) { + if (state.layout) { + return; // server side + } + const show = + !state.capabilities.standalone && + !/firefox/i.test(navigator.userAgent) && + document.querySelector('html').lang.startsWith('en') && + !state.route.startsWith('/unsupported/'); + if (show) { return state.cache(Promo, 'promo').render(); } } diff --git a/app/ui/promo.js b/app/ui/promo.js index 13059a32..bc54c8cb 100644 --- a/app/ui/promo.js +++ b/app/ui/promo.js @@ -27,7 +27,8 @@ class Promo extends Component { Download Firefox now ≫ + Download Firefox now ≫