From d15d72264a7ae515109ef1a2ad6cc29943f6195c Mon Sep 17 00:00:00 2001 From: Reem H <42309026+reemhamz@users.noreply.github.com> Date: Wed, 3 Jul 2024 03:14:20 +1000 Subject: [PATCH] Add WNP for Firefox 128 (#14720) --- .../whatsnew/includes/mofo-donate-cta.html | 34 +++++ .../firefox/whatsnew/index-thanks.html | 42 ++++++ .../templates/firefox/whatsnew/index.html | 8 ++ .../whatsnew/whatsnew-fx128-eu-addons.html | 110 +++++++++++++++ .../whatsnew/whatsnew-fx128-eu-donate.html | 115 ++++++++++++++++ .../firefox/whatsnew/whatsnew-fx128-na.html | 60 ++++++++ bedrock/firefox/tests/test_base.py | 130 ++++++++++++++++++ bedrock/firefox/views.py | 30 ++++ l10n/en/firefox/whatsnew/whatsnew.ftl | 4 + .../whatsnew/includes/_mofo-donate-cta.scss | 23 ++++ .../css/firefox/whatsnew/whatsnew-128-eu.scss | 61 ++++++++ .../css/firefox/whatsnew/whatsnew-128-na.scss | 85 ++++++++++++ media/css/firefox/whatsnew/whatsnew.scss | 5 + .../whatsnew/whatsnew128-eu/extensions.svg | 1 + .../whatsnew128-eu/firefox-and-mozilla.png | Bin 0 -> 169479 bytes .../whatsnew/whatsnew128-na/gymnast.png | Bin 0 -> 120706 bytes .../whatsnew128-na/pip-icon-white.svg | 1 + .../whatsnew/whatsnew128-na/pip-icon.svg | 1 + .../video-pseudo-background.png | Bin 0 -> 11070 bytes media/img/l10n/de/firefox/wnp-128/addon.svg | 1 + .../img/l10n/en-GB/firefox/wnp-128/addon.svg | 1 + .../img/l10n/en-US/firefox/wnp-128/addon.svg | 1 + .../img/l10n/en-ca/firefox/wnp-128/addon.svg | 1 + .../img/l10n/es-ES/firefox/wnp-128/addon.svg | 1 + media/img/l10n/fr/firefox/wnp-128/addon.svg | 1 + media/img/l10n/it/firefox/wnp-128/addon.svg | 1 + media/img/l10n/pl/firefox/wnp-128/addon.svg | 1 + .../whatsnew-128-experiment-eu.es6.js | 36 +++++ media/js/firefox/whatsnew/whatsnew-128-na.js | 43 ++++++ media/static-bundles.json | 24 ++++ 30 files changed, 821 insertions(+) create mode 100644 bedrock/firefox/templates/firefox/whatsnew/includes/mofo-donate-cta.html create mode 100644 bedrock/firefox/templates/firefox/whatsnew/index-thanks.html create mode 100644 bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-eu-addons.html create mode 100644 bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-eu-donate.html create mode 100644 bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-na.html create mode 100644 media/css/firefox/whatsnew/includes/_mofo-donate-cta.scss create mode 100644 media/css/firefox/whatsnew/whatsnew-128-eu.scss create mode 100644 media/css/firefox/whatsnew/whatsnew-128-na.scss create mode 100644 media/img/firefox/whatsnew/whatsnew128-eu/extensions.svg create mode 100644 media/img/firefox/whatsnew/whatsnew128-eu/firefox-and-mozilla.png create mode 100644 media/img/firefox/whatsnew/whatsnew128-na/gymnast.png create mode 100644 media/img/firefox/whatsnew/whatsnew128-na/pip-icon-white.svg create mode 100644 media/img/firefox/whatsnew/whatsnew128-na/pip-icon.svg create mode 100644 media/img/firefox/whatsnew/whatsnew128-na/video-pseudo-background.png create mode 100644 media/img/l10n/de/firefox/wnp-128/addon.svg create mode 100644 media/img/l10n/en-GB/firefox/wnp-128/addon.svg create mode 100644 media/img/l10n/en-US/firefox/wnp-128/addon.svg create mode 100644 media/img/l10n/en-ca/firefox/wnp-128/addon.svg create mode 100644 media/img/l10n/es-ES/firefox/wnp-128/addon.svg create mode 100644 media/img/l10n/fr/firefox/wnp-128/addon.svg create mode 100644 media/img/l10n/it/firefox/wnp-128/addon.svg create mode 100644 media/img/l10n/pl/firefox/wnp-128/addon.svg create mode 100644 media/js/firefox/whatsnew/whatsnew-128-experiment-eu.es6.js create mode 100644 media/js/firefox/whatsnew/whatsnew-128-na.js diff --git a/bedrock/firefox/templates/firefox/whatsnew/includes/mofo-donate-cta.html b/bedrock/firefox/templates/firefox/whatsnew/includes/mofo-donate-cta.html new file mode 100644 index 00000000000..eff8f559947 --- /dev/null +++ b/bedrock/firefox/templates/firefox/whatsnew/includes/mofo-donate-cta.html @@ -0,0 +1,34 @@ +{# + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at https://mozilla.org/MPL/2.0/. +#} + +{% if LANG == 'fr' %} + {% set donate_cta = "Faire un don à la Fondation Mozilla" %} +{% elif LANG == 'de' %} + {% set donate_cta = "Spende an die Mozilla Foundation" %} +{% elif LANG == 'es-ES' %} + {% set donate_cta = "Donar a la Fundación Mozilla" %} +{% elif LANG == 'it' %} + {% set donate_cta = "Dona alla Mozilla Foundation" %} +{% elif LANG == 'pl' %} + {% set donate_cta = "Wesprzyj Fundację Mozilli darowizną" %} +{% else %} + {% set donate_cta = "Donate to the Mozilla Foundation" %} +{% endif %} + +
+ + + + + + + {% if ftl_has_messages('whatsnew-donate-to-mofo') %} + {{ ftl('whatsnew-donate-to-mofo') }} + {% else %} + {{ donate_cta }} + {% endif %} + +
diff --git a/bedrock/firefox/templates/firefox/whatsnew/index-thanks.html b/bedrock/firefox/templates/firefox/whatsnew/index-thanks.html new file mode 100644 index 00000000000..c3a5ecafacf --- /dev/null +++ b/bedrock/firefox/templates/firefox/whatsnew/index-thanks.html @@ -0,0 +1,42 @@ +{# + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at https://mozilla.org/MPL/2.0/. +#} + +{% extends "firefox/whatsnew/base.html" %} + +{% block page_title %}{{ ftl('whatsnew-page-title') }}{% endblock %} +{% block page_desc %}{{ ftl('whatsnew-page-description') }}{% endblock %} + +{#- This will appear as which can be used for social share -#} +{% block page_og_desc %}{{ ftl('whatsnew-page-description') }}{% endblock %} + +{% block body_id %}firefox-whatsnew{% endblock %} +{% block body_class %}{% endblock %} + +{% block site_header %}{% endblock %} + +{% block page_css %} + {{ css_bundle('firefox_whatsnew') }} +{% endblock %} + +{% block wnp_content %} +
+
+

{{ ftl('whatsnew-thanks-for-choosing') }}

+
+
+ + +{% endblock %} + +{% block js %} + {{ js_bundle('firefox_whatsnew') }} +{% endblock %} diff --git a/bedrock/firefox/templates/firefox/whatsnew/index.html b/bedrock/firefox/templates/firefox/whatsnew/index.html index 6f13abc2209..b130654884f 100644 --- a/bedrock/firefox/templates/firefox/whatsnew/index.html +++ b/bedrock/firefox/templates/firefox/whatsnew/index.html @@ -45,6 +45,14 @@

{{ ftl('whatsnew-s2d-download-firefox-for-your') }} + + {% endblock %} {% block js %} diff --git a/bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-eu-addons.html b/bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-eu-addons.html new file mode 100644 index 00000000000..d23e7301b5c --- /dev/null +++ b/bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-eu-addons.html @@ -0,0 +1,110 @@ +{# + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at https://mozilla.org/MPL/2.0/. +#} + +{% from "macros-protocol.html" import split with context %} + +{% extends "firefox/whatsnew/base.html" %} + +{% block page_title %}{{ ftl('whatsnew-page-title') }}{% endblock %} + +{#- This will appear as which can be used for social share -#} +{% block page_og_desc %}{{ ftl('whatsnew-page-description') }}{% endblock %} + +{% block body_id %}firefox-whatsnew{% endblock %} + +{% block site_header %}{% endblock %} + +{% block page_css %} + {{ css_bundle('protocol-split') }} + {{ css_bundle('firefox_whatsnew_128_eu') }} +{% endblock %} + +{% block experiments %} + {% if switch('experiment-firefox-whatsnew-128-eu') %} + {{ js_bundle('firefox_whatsnew_128_eu') }} + {% endif %} +{% endblock %} + +{% if LANG == 'fr' %} + {% set main_title = "Un navigateur qui vous ressemble" %} + {% set image_alt_text = "Mon Firefox: Plus de vitesse. Plus de sécurité. Plus de fun." %} + {% set main_tagline = "Découvrez des extensions qui rendent votre navigation encore plus rapide, plus sûre et plus fun." %} + {% set page_cta = "Personnaliser mon Firefox" %} + {% set cta_link = "https://addons.mozilla.org/fr/firefox/" %} + +{% elif LANG == 'de' %} + {% set main_title = "Ein wirklich persönlicher Browser" %} + {% set image_alt_text = "Mein Firefox: Schneller. Sicherer. Persönlicher." %} + {% set main_tagline = "Entdecke Erweiterungen, die dein Browsing schneller, sicherer und persönlicher machen." %} + {% set page_cta = "Personalisiere deinen Firefox" %} + {% set cta_link = "https://addons.mozilla.org/de/firefox/" %} + +{% elif LANG == 'es-ES' %} + {% set main_title = "Un navegador que se adapta a ti" %} + {% set image_alt_text = "Mi Firefox: Más velocidad. Más seguridad. Más diversión." %} + {% set main_tagline = "Descubre las extensiones que hacen tu navegación aún más rápida, segura y divertida." %} + {% set page_cta = "Personaliza tu Firefox" %} + {% set cta_link = "https://addons.mozilla.org/es/firefox/" %} + +{% elif LANG == 'it' %} + {% set main_title = "Un browser che si adatta a te" %} + {% set image_alt_text = "Il mio Firefox: Più veloce. Più sicuro. Più divertente." %} + {% set main_tagline = "Scopri tutte le estensioni che rendono la tua navigazione ancora più veloce, sicura e divertente." %} + {% set page_cta = "Personalizza il tuo Firefox" %} + {% set cta_link = "https://addons.mozilla.org/it/firefox/" %} + +{% elif LANG == 'pl' %} + {% set main_title = "Przeglądarka na miarę twoich potrzeb" %} + {% set image_alt_text = "Mój Firefox: Szybciej. Bezpieczniej. Ciekawiej." %} + {% set main_tagline = "Odkryj rozszerzenia, z którymi przeglądanie będzie jeszcze szybsze, jeszcze bezpieczniejsze i jeszcze fajniejsze" %} + {% set page_cta = "Spersonalizuj swojego Firefoksa" %} + {% set cta_link = "https://addons.mozilla.org/pl/firefox/" %} + +{% else %} + {% set main_title = "A browser that’s truly yours" %} + {% set image_alt_text = "My Firefox: More Speed. More Security. More Fun." %} + {% set main_tagline = "Discover extensions that make your browsing even faster, safer and more fun." %} + {% set page_cta = "Personalise your Firefox" %} + {% set cta_link = "https://addons.mozilla.org/en-GB/firefox/" %} +{% endif %} + +{% block wnp_content %} +
+
+

{{ main_title }}

+ + {{ picture( + url='img/firefox/wnp-128/addon.svg', + optional_attributes={ + 'class': 'wnp-main-image', + 'alt': image_alt_text, + 'width': '554', + 'height': '300', + 'l10n': True, + } + ) }} + +

+ {{ main_tagline }} +

+ +

+ + {{ page_cta }} + +

+
+
+ + +{% endblock %} + +{% block js %} + {{ js_bundle('firefox_whatsnew_128_eu') }} +{% endblock %} diff --git a/bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-eu-donate.html b/bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-eu-donate.html new file mode 100644 index 00000000000..92cbccdd3f0 --- /dev/null +++ b/bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-eu-donate.html @@ -0,0 +1,115 @@ +{# + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at https://mozilla.org/MPL/2.0/. +#} + +{% extends "firefox/whatsnew/base.html" %} + +{% block page_title %}{{ ftl('whatsnew-page-title') }}{% endblock %} + +{#- This will appear as which can be used for social share -#} +{% block page_og_desc %}{{ ftl('whatsnew-page-description') }}{% endblock %} + +{% block body_id %}firefox-whatsnew{% endblock %} + +{% block site_header %}{% endblock %} + +{% block page_css %} + {{ css_bundle('firefox_whatsnew_128_eu') }} +{% endblock %} + +{% block experiments %} + {% if switch('experiment-firefox-whatsnew-128-eu') %} + {{ js_bundle('firefox_whatsnew_128_eu') }} + {% endif %} +{% endblock %} + +{% if LANG == 'fr' %} + {% set main_title = "Faites un don à la Fondation Mozilla, l'organisme à but non lucratif derrière Firefox" %} + + {% if variant == '2' %} + {% set main_tagline = "Firefox est un navigateur rapide comme l'éclair qui ne sacrifie pas votre vie privée avec des politiques de confidentialité douteuses. Ce navigateur est soutenu par la Fondation Mozilla - un mouvement mondial de gens qui travaillent à garder l'Internet ouvert et accessible à tous." %} + {% set secondary_tagline = "Vous avez choisi Firefox comme navigateur Internet, et maintenant nous espérons que vous ferez le prochain pas pour reprendre le contrôle d’Internet. Faites un don aujourd'hui à la Fondation Mozilla." %} + {% set donate_link = "https://foundation.mozilla.org/?form=Firefox-FR-B" %} + {% elif variant == '3' %} + {% set main_tagline = "Merci d'utiliser Firefox, le navigateur soutenu par la Fondation Mozilla. Rejoignez maintenant l'organisation qui mobilise les gens dans le monde entier pour protéger notre vie privée en ligne, exiger des grandes entreprises technologiques qu’elles rendent des comptes, et établir une IA digne de confiance. Ensemble, nous pouvons construire le mouvement qui garantira que l'avenir de l'Internet place les individus au centre." %} + {% set secondary_tagline = "Si vous êtes prêt à reprendre le contrôle d'Internet avec nous, pouvez-vous faire un don à la Fondation Mozilla dès aujourd'hui ?" %} + {% set donate_link = "https://foundation.mozilla.org/?form=Firefox-FR-C" %} + {% endif %} + + {% set page_cta = "Faire un don" %} + {% set cta_link = "https://addons.mozilla.org/fr/firefox/" %} + +{% elif LANG == 'de' %} + {% set main_title = "Spende der Mozilla Foundation, der Non-Profit-Organisation hinter Firefox" %} + + {% if variant == '2' %} + {% set main_tagline = "Firefox ist ein blitzschneller Browser, der dich nicht mit fragwürdigen Datenschutzrichtlinien oder Hintertürchen für Werbetreibende hintergeht. Dieser Browser wird von der Mozilla Foundation unterstützt – eine globale Bewegung von Menschen, die daran arbeiten, das Internet offen und allen zugänglich zu machen." %} + {% set secondary_tagline = "Du hast Firefox als Browser gewählt – jetzt würden wir uns freuen, wenn du den nächsten Schritt machst, das Internet zurückzuerobern. Spende noch heute an die Mozilla Foundation." %} + {% set donate_link = "https://foundation.mozilla.org/?form=Firefox-DE-B" %} + {% elif variant == '3' %} + {% set main_tagline = "Vielen Dank, dass du Firefox nutzt – der Browser, der von der Non-Profit-Organisation Mozilla Foundation unterstützt wird. Werde jetzt Teil der Organisation, die weltweit Menschen vereint, um gemeinsam online die Privatsphäre zu schützen, große Tech-Unternehmen verantwortlich zu machen und vertrauenswürdige KI zu etablieren. Gemeinsam müssen wir dafür sorgen, dass das Internet der Zukunft den Menschen über alles stellt." %} + {% set secondary_tagline = "Wenn du bereit bist, dir das Internet zurückzuholen, kannst du noch heute der Mozilla Foundation etwas spenden?" %} + {% set donate_link = "https://foundation.mozilla.org/?form=Firefox-DE-C" %} + {% endif %} + + {% set page_cta = "Spenden" %} + {% set cta_link = "https://addons.mozilla.org/de/firefox/" %} + +{% else %} + {% set main_title = "Donate to the Mozilla Foundation, the non-profit behind Firefox" %} + + {% if variant == '2' %} + {% set main_tagline = "Firefox is a lightning-fast browser that doesn't sell you out with shady privacy policies or back doors for advertisers. This browser is backed by the Mozilla Foundation – a global movement of people working to keep the internet open and accessible to all." %} + {% set secondary_tagline = "You chose Firefox as your internet browser, and now we hope you’ll take the next step to reclaim the internet. Make a donation today to the Mozilla Foundation." %} + {% set donate_link = "https://foundation.mozilla.org/?form=Firefox-UK-B" %} + {% elif variant == '3' %} + {% set main_tagline = "Thanks for using Firefox, which is backed by the non-profit Mozilla Foundation. Now join the organization that mobilizes people worldwide to protect our privacy online, hold big tech companies accountable, and establish trustworthy AI. Together we must build the movement to ensure the future of the internet puts people first." %} + {% set secondary_tagline = "If you are ready to reclaim the internet, can you make a donation to the Mozilla Foundation today?" %} + {% set donate_link = "https://foundation.mozilla.org/?form=Firefox-UK-C" %} + {% endif %} + + {% set page_cta = "Donate" %} + {% set cta_link = "https://addons.mozilla.org/en-GB/firefox/" %} +{% endif %} + +{% block wnp_content %} +
+
+ {{ picture( + url='img/firefox/whatsnew/whatsnew128-eu/firefox-and-mozilla.png', + optional_attributes={ + 'class': 'wnp-main-image', + 'width': '554', + 'height': '300' + } + ) }} + +

{{ main_title }}

+ +
+ {% if variant == '2' %} +

{{ main_tagline }}

+

{{ secondary_tagline }}

+ {% elif variant == '3' %} +

{{ main_tagline }}

+

{{ secondary_tagline }}

+ {% endif %} +
+ +

+ + {{ page_cta }} + ❤️ + +

+
+
+ + + +{% endblock %} + diff --git a/bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-na.html b/bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-na.html new file mode 100644 index 00000000000..a5bf48a1d5d --- /dev/null +++ b/bedrock/firefox/templates/firefox/whatsnew/whatsnew-fx128-na.html @@ -0,0 +1,60 @@ +{# + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at https://mozilla.org/MPL/2.0/. +#} + +{% from "macros.html" import video_inline_embed with context %} +{% from "macros-protocol.html" import picto with context %} + +{% extends "firefox/whatsnew/base.html" %} + +{% block page_title %}{{ ftl('whatsnew-page-title') }}{% endblock %} + +{#- This will appear as which can be used for social share -#} +{% block page_og_desc %}{{ ftl('whatsnew-page-description') }}{% endblock %} + +{% block body_id %}firefox-whatsnew{% endblock %} + +{% block site_header %}{% endblock %} + +{% block page_css %} + {{ css_bundle('firefox_whatsnew_128_na') }} +{% endblock %} + +{% block wnp_content %} +
+
+ {{ video_inline_embed( + id='9RLq8JDY0mI', + title='Stick the landing with Firefox', + image=resp_img( + url='img/firefox/whatsnew/whatsnew128-na/gymnast.png', + optional_attributes={ + 'width': '1024', + 'height': '576' + } + ), + ) }} +

World-class multitasking

+ +

Picture-In-Picture lets you watch every cartwheel and handspring without putting your life on pause. Just click the Picture-in-Picture button to pop out any video.

+ +

+ + Learn more + +

+
+
+ + +{% endblock %} + +{% block js %} + {{ js_bundle('video-inline-embed') }} + {{ js_bundle('firefox_whatsnew_128_na') }} +{% endblock %} diff --git a/bedrock/firefox/tests/test_base.py b/bedrock/firefox/tests/test_base.py index b1940ed42e2..bdccb662f0a 100644 --- a/bedrock/firefox/tests/test_base.py +++ b/bedrock/firefox/tests/test_base.py @@ -726,6 +726,136 @@ def test_fx_127_0_0_pl(self, render_mock): # end 127.0 whatsnew tests + # begin 128.0 whatsnew tests + + @override_settings(DEV=True) + def test_fx_128_0_0_en_us(self, render_mock): + """Should use whatsnew-fx128-na template for en-US locale""" + req = self.rf.get("/firefox/whatsnew/") + req.locale = "en-US" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-na.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_en_ca(self, render_mock): + """Should use whatsnew-fx128-na template for en-CA locale""" + req = self.rf.get("/firefox/whatsnew/") + req.locale = "en-CA" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-na.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_en_gb_v1(self, render_mock): + """Should use whatsnew-fx128-eu-addons template for en-GB locale and v=1""" + req = self.rf.get("/firefox/whatsnew/") + req.locale = "en-GB" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-addons.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_fr_v1(self, render_mock): + """Should use whatsnew-fx128-eu-addons template for fr locale and v=1""" + req = self.rf.get("/firefox/whatsnew/") + req.locale = "fr" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-addons.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_de_v1(self, render_mock): + """Should use whatsnew-fx128-eu-addons template for de locale and v=1""" + req = self.rf.get("/firefox/whatsnew/") + req.locale = "de" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-addons.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_es_es_v1(self, render_mock): + """Should use whatsnew-fx128-eu-addons template for es-ES locale and v=1""" + req = self.rf.get("/firefox/whatsnew/") + req.locale = "es-ES" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-addons.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_it_v1(self, render_mock): + """Should use whatsnew-fx128-eu-addons template for it locale and v=1""" + req = self.rf.get("/firefox/whatsnew/") + req.locale = "it" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-addons.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_pl_v1(self, render_mock): + """Should use whatsnew-fx128-eu-addons template for pl locale and v=1""" + req = self.rf.get("/firefox/whatsnew/") + req.locale = "pl" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-addons.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_en_gb_v2(self, render_mock): + """Should use whatsnew-fx128-eu-donate template for en-GB locale and v=2""" + req = self.rf.get("/firefox/whatsnew/?v=2") + req.locale = "en-GB" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-donate.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_fr_v2(self, render_mock): + """Should use whatsnew-fx128-eu-donate template for fr locale and v=2""" + req = self.rf.get("/firefox/whatsnew/?v=2") + req.locale = "fr" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-donate.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_de_v2(self, render_mock): + """Should use whatsnew-fx128-eu-donate template for de locale and v=2""" + req = self.rf.get("/firefox/whatsnew/?v=2") + req.locale = "de" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-donate.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_en_gb_v3(self, render_mock): + """Should use whatsnew-fx128-eu-donate template for en-GB locale and v=3""" + req = self.rf.get("/firefox/whatsnew/?v=3") + req.locale = "en-GB" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-donate.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_fr_v3(self, render_mock): + """Should use whatsnew-fx128-eu-donate template for fr locale and v=3""" + req = self.rf.get("/firefox/whatsnew/?v=3") + req.locale = "fr" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-donate.html"] + + @override_settings(DEV=True) + def test_fx_128_0_0_de_v3(self, render_mock): + """Should use whatsnew-fx128-eu-donate template for de locale and v=3""" + req = self.rf.get("/firefox/whatsnew/?v=3") + req.locale = "de" + self.view(req, version="128.0") + template = render_mock.call_args[0][1] + assert template == ["firefox/whatsnew/whatsnew-fx128-eu-donate.html"] + + # end 127.0 whatsnew tests + @patch("bedrock.firefox.views.l10n_utils.render", return_value=HttpResponse()) class TestFirstRun(TestCase): diff --git a/bedrock/firefox/views.py b/bedrock/firefox/views.py index dbc23375799..ae0144e7019 100644 --- a/bedrock/firefox/views.py +++ b/bedrock/firefox/views.py @@ -371,6 +371,7 @@ class WhatsnewView(L10nTemplateView): "firefox/developer/whatsnew-mdnplus.html": ["firefox/whatsnew/whatsnew-developer-mdnplus"], "firefox/nightly/whatsnew.html": ["firefox/nightly/whatsnew", "firefox/whatsnew/whatsnew"], "firefox/whatsnew/index.html": ["firefox/whatsnew/whatsnew-s2d", "firefox/whatsnew/whatsnew"], + "firefox/whatsnew/index-thanks.html": ["firefox/whatsnew/whatsnew"], "firefox/whatsnew/whatsnew-fx125-na.html": ["firefox/whatsnew/whatsnew"], "firefox/whatsnew/whatsnew-fx125-eu.html": ["firefox/whatsnew/whatsnew"], "firefox/whatsnew/whatsnew-fx126beta-de.html": ["firefox/whatsnew/whatsnew"], @@ -382,6 +383,9 @@ class WhatsnewView(L10nTemplateView): "firefox/whatsnew/whatsnew-fx126-eu.html": ["firefox/whatsnew/whatsnew"], "firefox/whatsnew/whatsnew-fx127-na.html": ["firefox/whatsnew/whatsnew"], "firefox/whatsnew/whatsnew-fx127-eu.html": ["firefox/whatsnew/whatsnew"], + "firefox/whatsnew/whatsnew-fx128-na.html": ["firefox/whatsnew/whatsnew"], + "firefox/whatsnew/whatsnew-fx128-eu-addons.html": ["firefox/whatsnew/whatsnew"], + "firefox/whatsnew/whatsnew-fx128-eu-donate.html": ["firefox/whatsnew/whatsnew"], } # specific templates that should not be rendered in @@ -430,6 +434,8 @@ def get_template_names(self): locale = l10n_utils.get_locale(self.request) version = self.kwargs.get("version") or "" variant = self.request.GET.get("v", None) + nimbus_branch = self.request.GET.get("branch", None) + nimbus_variant = self.request.GET.get("variant", None) # ensure variant matches pre-defined value if variant not in self.variations: @@ -471,6 +477,30 @@ def get_template_names(self): template = "firefox/whatsnew/index.html" else: template = "firefox/whatsnew/index.html" + elif version.startswith("128."): + if locale in ["de", "fr", "en-GB"]: + if variant == "2" or variant == "3": + template = "firefox/whatsnew/whatsnew-fx128-eu-donate.html" + else: + template = "firefox/whatsnew/whatsnew-fx128-eu-addons.html" + elif locale in ["es-ES", "it", "pl"]: + template = "firefox/whatsnew/whatsnew-fx128-eu-addons.html" + elif locale.startswith("en-"): + if country == "GB": + if variant == "2" or variant == "3": + template = "firefox/whatsnew/whatsnew-fx128-eu-donate.html" + else: + template = "firefox/whatsnew/whatsnew-fx128-eu-addons.html" + else: + if nimbus_branch == "experiment-wnp-128-na-pip": + if nimbus_variant == "v1": + template = "firefox/whatsnew/index-thanks.html" + else: + template = "firefox/whatsnew/whatsnew-fx128-na.html" + else: + template = "firefox/whatsnew/whatsnew-fx128-na.html" + else: + template = "firefox/whatsnew/index.html" elif version.startswith("127."): if locale in ["de", "fr", "en-GB", "es-ES", "it", "pl"]: template = "firefox/whatsnew/whatsnew-fx127-eu.html" diff --git a/l10n/en/firefox/whatsnew/whatsnew.ftl b/l10n/en/firefox/whatsnew/whatsnew.ftl index a482bcf0035..9cd4dd81d54 100644 --- a/l10n/en/firefox/whatsnew/whatsnew.ftl +++ b/l10n/en/firefox/whatsnew/whatsnew.ftl @@ -23,3 +23,7 @@ whatsnew-release-notes-v2 = Read the Release Notes to know more whatsnew-release-notes = Read the Release Notes to know more about what’s new in your { -brand-name-firefox } browser. whatsnew-signoff = Powered by { -brand-name-mozilla }. Putting people before profits since 1998. + +whatsnew-donate-to-mofo = Donate to the { -brand-name-mozilla-foundation } + +whatsnew-thanks-for-choosing = Thanks for choosing { -brand-name-firefox } diff --git a/media/css/firefox/whatsnew/includes/_mofo-donate-cta.scss b/media/css/firefox/whatsnew/includes/_mofo-donate-cta.scss new file mode 100644 index 00000000000..6f6d625a91e --- /dev/null +++ b/media/css/firefox/whatsnew/includes/_mofo-donate-cta.scss @@ -0,0 +1,23 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +@import '~@mozilla-protocol/core/protocol/css/includes/lib'; +@import 'dark-mode'; + +/* stylelint-disable declaration-no-important */ + +@media (prefers-color-scheme: dark) { + .wnp-donate-wrapper { + .mzp-c-button { + color: $color-white !important; + border-color: $color-white !important; + + &:hover, + &:focus, + &:active { + color: $color-black !important; + } + } + } +} diff --git a/media/css/firefox/whatsnew/whatsnew-128-eu.scss b/media/css/firefox/whatsnew/whatsnew-128-eu.scss new file mode 100644 index 00000000000..7f26d6f6d40 --- /dev/null +++ b/media/css/firefox/whatsnew/whatsnew-128-eu.scss @@ -0,0 +1,61 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +@import 'includes/base'; +@import '~@mozilla-protocol/core/protocol/css/includes/lib'; +@import '~@mozilla-protocol/core/protocol/css/components/notification-bar'; +@import 'includes/dark-mode'; +@import 'includes/mofo-donate-cta'; + +.wnp-content-main { + background-color: $color-marketing-gray-10; + color: $color-black; + text-align: center; +} + +.wnp-content-addons { + .wnp-main-title { + display: inline-block; + margin-bottom: $layout-md; + } +} + +.wnp-main-tagline { + @include text-body-xl; + margin-top: $layout-md; +} + +.wnp-main-image { + display: block; + margin: 0 auto $spacing-2xl; +} + +.wnp-main-cta { + display: block; + margin-bottom: $layout-xl; +} + +.wnp-content-donate { + .wnp-main-cta { + a { + @include text-body-xl; + padding: $spacing-md $spacing-2xl; + } + } +} + +@media (prefers-color-scheme: dark) { + .wnp-content-main { + background: $color-dark-gray-40; + } + + .wnp-main-title, + .wnp-main-tagline { + color: $title-text-color-inverse; + + @supports (--css: variables) { + color: var(--title-text-color-inverse); + } + } +} diff --git a/media/css/firefox/whatsnew/whatsnew-128-na.scss b/media/css/firefox/whatsnew/whatsnew-128-na.scss new file mode 100644 index 00000000000..d0d4fca10f2 --- /dev/null +++ b/media/css/firefox/whatsnew/whatsnew-128-na.scss @@ -0,0 +1,85 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +@import 'includes/base'; +@import '~@mozilla-protocol/core/protocol/css/includes/lib'; +@import '~@mozilla-protocol/core/protocol/css/components/notification-bar'; +@import "../../protocol/components/video"; +@import 'includes/mofo-donate-cta'; + + +.wnp-content-main { + background-color: #F8F6F4; + text-align: center +} + +.c-video-wrapper { + z-index: 10; + + .mzp-c-video { + overflow: visible; + position: relative; + + @media (min-width: 920px) { + &::before { + background-image: url("/media/img/firefox/whatsnew/whatsnew128-na/video-pseudo-background.png"); + background-repeat: no-repeat; + content: ""; + height: 556px; + width: 710px; + position: absolute; + left: 30px; + top: 19px; + background-size: contain; + z-index: -1; + } + } + + img { + border-radius: 20px; + } + } +} + +.wnp-main-title { + @include text-title-lg; + margin-top: $spacing-lg; + @media #{$mq-md} { + margin-top: $layout-xl; + } +} + +.wnp-main-tagline { + @include text-body-xl; +} + +.has-pip-icon strong { + @include image-replaced; + @include background-size(2.25ex, 2.25ex); + background-image: url("/media/img/firefox/whatsnew/whatsnew128-na/pip-icon.svg"); + background-repeat: no-repeat; + display: inline-block; + height: 2.25ex; + margin-bottom: -0.5ex; + width: 2.25ex; +} + +@media (prefers-color-scheme: dark) { + .wnp-content-main { + background: $color-dark-gray-40; + } + + .wnp-main-title, + .wnp-main-tagline { + color: $title-text-color-inverse; + + @supports (--css: variables) { + color: var(--title-text-color-inverse); + } + } + + .has-pip-icon strong { + background-image: url("/media/img/firefox/whatsnew/whatsnew128-na/pip-icon-white.svg"); + } +} diff --git a/media/css/firefox/whatsnew/whatsnew.scss b/media/css/firefox/whatsnew/whatsnew.scss index d5b75a98958..85896b541cc 100644 --- a/media/css/firefox/whatsnew/whatsnew.scss +++ b/media/css/firefox/whatsnew/whatsnew.scss @@ -9,6 +9,7 @@ $image-path: '/media/protocol/img'; @import '~@mozilla-protocol/core/protocol/css/components/notification-bar'; @import 'includes/base'; @import 'includes/dark-mode'; +@import 'includes/mofo-donate-cta'; // * -------------------------------------------------------------------------- */ // Main content @@ -42,6 +43,10 @@ $image-path: '/media/protocol/img'; } } +.c-nimbus-128-title { + @include text-title-xl; +} + .wnp-main-tagline { @include text-body-lg; } diff --git a/media/img/firefox/whatsnew/whatsnew128-eu/extensions.svg b/media/img/firefox/whatsnew/whatsnew128-eu/extensions.svg new file mode 100644 index 00000000000..ad0cc897f11 --- /dev/null +++ b/media/img/firefox/whatsnew/whatsnew128-eu/extensions.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/media/img/firefox/whatsnew/whatsnew128-eu/firefox-and-mozilla.png b/media/img/firefox/whatsnew/whatsnew128-eu/firefox-and-mozilla.png new file mode 100644 index 0000000000000000000000000000000000000000..26e2f96284016b76cc94fe86e4164b0b26d38de9 GIT binary patch literal 169479 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