|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="136" height="142" fill="none"><rect width="67.346" height="67.346" x=".948" fill="#0090ED" rx="5.221"/><rect width="67.346" height="67.346" x="68.294" y="74.654" fill="#0090ED" rx="5.221"/><mask id="a" fill="#fff"><path d="M114.235 67.346H74.559V27.669h33.926a5.75 5.75 0 0 1 5.75 5.75v33.927Z"/></mask><path fill="#0090ED" d="M114.235 67.346H74.559h39.676ZM74.559 24.794h33.926a8.625 8.625 0 0 1 8.625 8.625h-5.75a2.875 2.875 0 0 0-2.875-2.875H74.559v-5.75Zm33.926 0a8.625 8.625 0 0 1 8.625 8.625v33.927h-5.75V33.419a2.875 2.875 0 0 0-2.875-2.875v-5.75ZM74.559 67.346V27.669v39.677Z" mask="url(#a)"/><path stroke="#0090ED" stroke-linecap="round" stroke-width="2.875" d="m82.609 36.87-8.05-7.763 8.05-7.763"/><mask id="b" fill="#fff"><path d="M22.353 74.654h39.676v39.677H28.103a5.75 5.75 0 0 1-5.75-5.75V74.654Z"/></mask><path fill="#0090ED" d="M22.353 74.654h39.676-39.676Zm39.676 42.552H28.103a8.625 8.625 0 0 1-8.625-8.625h5.75a2.875 2.875 0 0 0 2.875 2.875H62.03v5.75Zm-33.926 0a8.625 8.625 0 0 1-8.625-8.625V74.654h5.75v33.927a2.875 2.875 0 0 0 2.875 2.875v5.75ZM62.03 74.654v39.677-39.677Z" mask="url(#b)"/><path stroke="#0090ED" stroke-linecap="round" stroke-width="2.875" d="m53.98 105.131 8.05 7.762-8.05 7.763"/><path fill="#FFFFF2" d="M89.95 132.664h.793c7.1 0 9.146-2.464 9.146-9.648v-24.39c0-2.924 1.754-4.469 4.344-4.469 2.631 0 4.301 1.88 4.301 4.218 0 2.59-1.921 4.386-4.719 4.386h-1.002v5.262h1.086c3.382 0 5.512 2.046 5.512 4.678 0 2.714-1.962 4.719-4.552 4.719-.626 0-2.506-.084-2.882-.334v5.22c.71.293 2.047.418 2.924.418 6.473 0 10.525-4.302 10.525-10.065 0-3.592-2.089-6.307-5.221-7.56 2.506-1.336 4.009-3.717 4.009-6.724 0-5.387-4.009-9.146-9.898-9.146-6.473 0-10.19 4.093-10.065 9.898v23.889c0 3.383-.501 4.26-4.302 4.26v5.388ZM35.613 48.028c6.808 0 11.193-4.343 11.193-9.564 0-6.599-5.387-8.102-10.065-9.105-3.8-.877-6.85-1.336-6.85-3.8 0-2.005 1.42-3.634 4.72-3.634 3.508 0 5.555 1.462 7.142 3.8l4.803-3.758c-3.091-3.425-6.474-5.304-11.862-5.304-6.348 0-10.817 4.01-10.817 9.02 0 6.182 5.096 7.644 9.648 8.604 4.218.961 7.142 1.546 7.142 4.386 0 2.213-1.713 3.8-5.012 3.8-3.634 0-6.348-1.629-8.353-4.803l-5.137 4.093c2.882 3.676 6.891 6.265 13.448 6.265Z"/></svg>
|
После Ширина: | Высота: | Размер: 2.2 KiB |
|
@ -0,0 +1,70 @@
|
|||
{#
|
||||
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 %}
|
||||
|
||||
{% block page_css %}
|
||||
{{ css_bundle('firefox_whatsnew_111_eu') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block site_header %}{% endblock %}
|
||||
|
||||
{% block wnp_content %}
|
||||
<section class="wnp-content-main mzp-l-content mzp-t-content-md">
|
||||
<h2>
|
||||
{{ picture(
|
||||
url="firefox/whatsnew/whatsnew111-eu/pdf-title-light.svg",
|
||||
sources=[
|
||||
{
|
||||
"media": "(prefers-color-scheme: light)",
|
||||
"srcset": {
|
||||
"img/firefox/whatsnew/whatsnew111-eu/pdf-title-light.svg": "default",
|
||||
}
|
||||
},
|
||||
{
|
||||
"media": "(prefers-color-scheme: dark)",
|
||||
"srcset": {
|
||||
"img/firefox/whatsnew/whatsnew111-eu/pdf-title-dark.svg": "default",
|
||||
}
|
||||
}
|
||||
],
|
||||
optional_attributes={
|
||||
"alt": ftl('whatsnew-111-pdf-title-alt'),
|
||||
"l10n": True,
|
||||
}
|
||||
) }}
|
||||
</h2>
|
||||
<p class="wnp-main-tagline">{{ ftl('whatsnew-111-pdf-its-spring-cleaning-season') }}</p>
|
||||
<p class="wnp-main-tagline">{{ ftl('whatsnew-111-pdf-try-it-out-now-and-say') }}</p>
|
||||
|
||||
{% if LANG == 'es-ES' %}
|
||||
{% set pdf = 'https://assets.mozilla.net/wnp111-eu/wnp-fx111-es.pdf' %}
|
||||
{% elif LANG == 'it' %}
|
||||
{% set pdf = 'https://assets.mozilla.net/wnp111-eu/wnp-fx111-it.pdf' %}
|
||||
{% elif LANG == 'pl' %}
|
||||
{% set pdf = 'https://assets.mozilla.net/wnp111-eu/wnp-fx111-pl.pdf' %}
|
||||
{% elif LANG == 'pt-PT' %}
|
||||
{% set pdf = 'https://assets.mozilla.net/wnp111-eu/wnp-fx111-pt.pdf' %}
|
||||
{% elif LANG == 'nl' %}
|
||||
{% set pdf = 'https://assets.mozilla.net/wnp111-eu/wnp-fx111-nl.pdf' %}
|
||||
{% endif %}
|
||||
|
||||
{% if pdf %}
|
||||
<p class="wnp-main-cta pdf">
|
||||
<a class="mzp-c-button mzp-t-product" href="{{ pdf }}" data-cta-type="button" data-cta-text="Try it now">
|
||||
{{ ftl('whatsnew-111-pdf-cta') }}
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
{{ js_bundle('firefox_whatsnew_update') }}
|
||||
{% endblock %}
|
|
@ -0,0 +1,45 @@
|
|||
{#
|
||||
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 %}
|
||||
|
||||
{% block page_css %}
|
||||
{{ css_bundle('firefox_whatsnew_111_eu') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block site_header %}{% endblock %}
|
||||
|
||||
{% set _utm_campaign = 'whatsnew111-translate-de' %}
|
||||
{% set params = 'utm_source=' ~ entrypoint ~ '&utm_medium=referral&utm_campaign=' ~ _utm_campaign %}
|
||||
|
||||
{% block wnp_content %}
|
||||
<section class="wnp-content-main mzp-l-content mzp-t-content-md">
|
||||
<div class="wnp-main-image" role="presentation">
|
||||
{% include 'firefox/whatsnew/includes/fx111/translate.svg' %}
|
||||
</div>
|
||||
|
||||
<h2 class="wnp-main-title">Sag Hola zu Firefox Translations</h2>
|
||||
|
||||
<p class="wnp-main-tagline">
|
||||
Das Internet kommt dir manchmal spanisch vor, aber du willst beim Übersetzen nicht auf
|
||||
Privatsphäre verzichten? Mit der Firefox Translations Erweiterung übersetzt du alles
|
||||
lokal auf deinem Gerät und behältst es so ganz für dich allein.
|
||||
</p>
|
||||
|
||||
<p class="wnp-main-cta translate">
|
||||
<a class="mzp-c-button mzp-t-product" href="https://addons.mozilla.org/de/firefox/addon/firefox-translations/?{{ params }}" data-cta-type="button" data-cta-text="Add to Firefox">
|
||||
Zu Firefox hinzufügen
|
||||
</a>
|
||||
</p>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
{{ js_bundle('firefox_whatsnew_update') }}
|
||||
{% endblock %}
|
|
@ -0,0 +1,45 @@
|
|||
{#
|
||||
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 %}
|
||||
|
||||
{% block page_css %}
|
||||
{{ css_bundle('firefox_whatsnew_111_eu') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block site_header %}{% endblock %}
|
||||
|
||||
{% set _utm_campaign = 'whatsnew111-translate-fr' %}
|
||||
{% set params = 'utm_source=' ~ entrypoint ~ '&utm_medium=referral&utm_campaign=' ~ _utm_campaign %}
|
||||
|
||||
{% block wnp_content %}
|
||||
<section class="wnp-content-main mzp-l-content mzp-t-content-md">
|
||||
<div class="wnp-main-image" role="presentation">
|
||||
{% include 'firefox/whatsnew/includes/fx111/translate.svg' %}
|
||||
</div>
|
||||
|
||||
<h2 class="wnp-main-title">Dites ‘hello’ à Firefox Translations</h2>
|
||||
|
||||
<p class="wnp-main-tagline">
|
||||
Lost in translation et inquiet pour vos données ? Essayez l’extension Firefox Translations :
|
||||
elle travaille localement, et non dans le cloud, pour que toutes vos données restent sur
|
||||
votre ordinateur, et confidentielles.
|
||||
</p>
|
||||
|
||||
<p class="wnp-main-cta translate">
|
||||
<a class="mzp-c-button mzp-t-product" href="https://addons.mozilla.org/fr/firefox/addon/firefox-translations/?{{ params }}" data-cta-type="button" data-cta-text="Add to Firefox">
|
||||
Ajouter à Firefox
|
||||
</a>
|
||||
</p>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
{{ js_bundle('firefox_whatsnew_update') }}
|
||||
{% endblock %}
|
|
@ -0,0 +1,45 @@
|
|||
{#
|
||||
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 %}
|
||||
|
||||
{% block page_css %}
|
||||
{{ css_bundle('firefox_whatsnew_111_eu') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block site_header %}{% endblock %}
|
||||
|
||||
{% set _utm_campaign = 'whatsnew111-translate-uk' %}
|
||||
{% set params = 'utm_source=' ~ entrypoint ~ '&utm_medium=referral&utm_campaign=' ~ _utm_campaign %}
|
||||
|
||||
{% block wnp_content %}
|
||||
<section class="wnp-content-main mzp-l-content mzp-t-content-md">
|
||||
<div class="wnp-main-image" role="presentation">
|
||||
{% include 'firefox/whatsnew/includes/fx111/translate.svg' %}
|
||||
</div>
|
||||
|
||||
<h2 class="wnp-main-title">Say ‘hola’ to Firefox Translations</h2>
|
||||
|
||||
<p class="wnp-main-tagline">
|
||||
Lost in translation and worried about your data? Try the Firefox
|
||||
Translations extension: it works locally, so all your data stays
|
||||
on your computer, and private to you.
|
||||
</p>
|
||||
|
||||
<p class="wnp-main-cta translate">
|
||||
<a class="mzp-c-button mzp-t-product" href="https://addons.mozilla.org/firefox/addon/firefox-translations/?{{ params }}" data-cta-type="button" data-cta-text="Add to Firefox">
|
||||
Add to Firefox
|
||||
</a>
|
||||
</p>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
{{ js_bundle('firefox_whatsnew_update') }}
|
||||
{% endblock %}
|
|
@ -1,32 +0,0 @@
|
|||
{#
|
||||
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 %}
|
||||
|
||||
{% block page_css %}
|
||||
{{ css_bundle('firefox_whatsnew_111_eu') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block site_header %}{% endblock %}
|
||||
|
||||
{% block wnp_content %}
|
||||
|
||||
<section class="wnp-content-main mzp-l-content mzp-t-content-md">
|
||||
<h1>{{ ftl('whatsnew-111-pdf-title') }}</h1>
|
||||
<p class="wnp-main-tagline">{{ ftl('whatsnew-111-pdf-its-spring-cleaning-season') }}</p>
|
||||
<p class="wnp-main-tagline">{{ ftl('whatsnew-111-pdf-try-it-out-now-and-say') }}</p>
|
||||
|
||||
<p><a class="mzp-c-button mzp-t-product" href="https://assets.mozilla.net/wnp109-eu/wnp-fx109-uk.pdf" data-cta-type="button" data-cta-text="Try it now">{{ ftl('whatsnew-111-pdf-cta') }}</a></p>
|
||||
</section>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
{{ js_bundle('firefox_whatsnew_update') }}
|
||||
{% endblock %}
|
|
@ -883,6 +883,86 @@ class TestWhatsNew(TestCase):
|
|||
template = render_mock.call_args[0][1]
|
||||
assert template == ["firefox/whatsnew/whatsnew-fx111-en.html"]
|
||||
|
||||
def test_fx_111_0_0_es(self, render_mock):
|
||||
"""Should use whatsnew-fx110-eu-pdf template for es-ES locale"""
|
||||
req = self.rf.get("/firefox/whatsnew/")
|
||||
req.locale = "es-ES"
|
||||
self.view(req, version="111.0")
|
||||
template = render_mock.call_args[0][1]
|
||||
assert template == ["firefox/whatsnew/whatsnew-fx111-eu-pdf.html"]
|
||||
|
||||
@override_settings(DEV=True)
|
||||
def test_fx_111_0_0_it(self, render_mock):
|
||||
"""Should use whatsnew-fx110-eu-pdf template for it locale"""
|
||||
req = self.rf.get("/firefox/whatsnew/")
|
||||
req.locale = "it"
|
||||
self.view(req, version="111.0")
|
||||
template = render_mock.call_args[0][1]
|
||||
assert template == ["firefox/whatsnew/whatsnew-fx111-eu-pdf.html"]
|
||||
|
||||
@override_settings(DEV=True)
|
||||
def test_fx_111_0_0_pl(self, render_mock):
|
||||
"""Should use whatsnew-fx110-eu-pdf template for pl locale"""
|
||||
req = self.rf.get("/firefox/whatsnew/")
|
||||
req.locale = "pl"
|
||||
self.view(req, version="111.0")
|
||||
template = render_mock.call_args[0][1]
|
||||
assert template == ["firefox/whatsnew/whatsnew-fx111-eu-pdf.html"]
|
||||
|
||||
@override_settings(DEV=True)
|
||||
def test_fx_111_0_0_pt(self, render_mock):
|
||||
"""Should use whatsnew-fx110-eu-pdf template for pt-PT locale"""
|
||||
req = self.rf.get("/firefox/whatsnew/")
|
||||
req.locale = "pt-PT"
|
||||
self.view(req, version="111.0")
|
||||
template = render_mock.call_args[0][1]
|
||||
assert template == ["firefox/whatsnew/whatsnew-fx111-eu-pdf.html"]
|
||||
|
||||
@override_settings(DEV=True)
|
||||
def test_fx_111_0_0_nl(self, render_mock):
|
||||
"""Should use whatsnew-fx110-eu-pdf template for nl locale"""
|
||||
req = self.rf.get("/firefox/whatsnew/")
|
||||
req.locale = "nl"
|
||||
self.view(req, version="111.0")
|
||||
template = render_mock.call_args[0][1]
|
||||
assert template == ["firefox/whatsnew/whatsnew-fx111-eu-pdf.html"]
|
||||
|
||||
@override_settings(DEV=True)
|
||||
def test_fx_111_0_0_de(self, render_mock):
|
||||
"""Should use whatsnew-fx110-eu-translate-de template for de locale"""
|
||||
req = self.rf.get("/firefox/whatsnew/")
|
||||
req.locale = "de"
|
||||
self.view(req, version="111.0")
|
||||
template = render_mock.call_args[0][1]
|
||||
assert template == ["firefox/whatsnew/whatsnew-fx111-eu-translate.de.html"]
|
||||
|
||||
@override_settings(DEV=True)
|
||||
def test_fx_111_0_0_fr(self, render_mock):
|
||||
"""Should use whatsnew-fx110-eu-translate-fr template for fr locale"""
|
||||
req = self.rf.get("/firefox/whatsnew/")
|
||||
req.locale = "fr"
|
||||
self.view(req, version="111.0")
|
||||
template = render_mock.call_args[0][1]
|
||||
assert template == ["firefox/whatsnew/whatsnew-fx111-eu-translate.fr.html"]
|
||||
|
||||
@override_settings(DEV=True)
|
||||
def test_fx_111_0_0_en_gb(self, render_mock):
|
||||
"""Should use whatsnew-fx110-eu-translate-uk template for en-GB locale"""
|
||||
req = self.rf.get("/firefox/whatsnew/")
|
||||
req.locale = "en-GB"
|
||||
self.view(req, version="111.0")
|
||||
template = render_mock.call_args[0][1]
|
||||
assert template == ["firefox/whatsnew/whatsnew-fx111-eu-translate.uk.html"]
|
||||
|
||||
@override_settings(DEV=True)
|
||||
def test_fx_111_0_0_en_us_gb(self, render_mock):
|
||||
"""Should use whatsnew-fx110-eu-translate-uk template for en-US locale in GB"""
|
||||
req = self.rf.get("/firefox/whatsnew/", HTTP_CF_IPCOUNTRY="GB")
|
||||
req.locale = "en-US"
|
||||
self.view(req, version="111.0")
|
||||
template = render_mock.call_args[0][1]
|
||||
assert template == ["firefox/whatsnew/whatsnew-fx111-eu-translate.uk.html"]
|
||||
|
||||
# end 111.0 whatsnew tests
|
||||
|
||||
|
||||
|
|
|
@ -484,8 +484,11 @@ class WhatsnewView(L10nTemplateView):
|
|||
"firefox/whatsnew/whatsnew-fx110-de-v1.html": ["firefox/whatsnew/whatsnew"],
|
||||
"firefox/whatsnew/whatsnew-fx110-de-v2.html": ["firefox/whatsnew/whatsnew"],
|
||||
"firefox/whatsnew/whatsnew-fx110-fr.html": ["firefox/whatsnew/whatsnew"],
|
||||
"firefox/whatsnew/whatsnew-fx111-eu.html": ["firefox/whatsnew/whatsnew-111-pdf", "firefox/whatsnew/whatsnew"],
|
||||
"firefox/whatsnew/whatsnew-fx111-en.html": ["firefox/whatsnew/whatsnew"],
|
||||
"firefox/whatsnew/whatsnew-fx111-eu-pdf.html": ["firefox/whatsnew/whatsnew-111-pdf", "firefox/whatsnew/whatsnew"],
|
||||
"firefox/whatsnew/whatsnew-fx111-eu-translate.uk.html": ["firefox/whatsnew/whatsnew"],
|
||||
"firefox/whatsnew/whatsnew-fx111-eu-translate.de.html": ["firefox/whatsnew/whatsnew"],
|
||||
"firefox/whatsnew/whatsnew-fx111-eu-translate.fr.html": ["firefox/whatsnew/whatsnew"],
|
||||
}
|
||||
|
||||
# specific templates that should not be rendered in
|
||||
|
@ -576,11 +579,20 @@ class WhatsnewView(L10nTemplateView):
|
|||
template = "firefox/developer/whatsnew.html"
|
||||
else:
|
||||
template = "firefox/whatsnew/index.html"
|
||||
elif version.startswith("111.0"):
|
||||
if settings.DEV and locale in ["es-ES", "it", "pl", "pt-PT", "nl"] and ftl_file_is_active("firefox/whatsnew/whatsnew-111-pdf"):
|
||||
template = "firefox/whatsnew/whatsnew-fx111-eu.html"
|
||||
elif version.startswith("111."):
|
||||
if locale in ["es-ES", "it", "pl", "pt-PT", "nl"] and ftl_file_is_active("firefox/whatsnew/whatsnew-111-pdf"):
|
||||
template = "firefox/whatsnew/whatsnew-fx111-eu-pdf.html"
|
||||
elif locale.startswith("en-"):
|
||||
template = "firefox/whatsnew/whatsnew-fx111-en.html"
|
||||
if country == "GB":
|
||||
template = "firefox/whatsnew/whatsnew-fx111-eu-translate.uk.html"
|
||||
elif locale == "en-GB":
|
||||
template = "firefox/whatsnew/whatsnew-fx111-eu-translate.uk.html"
|
||||
else:
|
||||
template = "firefox/whatsnew/whatsnew-fx111-en.html"
|
||||
elif locale == "de":
|
||||
template = "firefox/whatsnew/whatsnew-fx111-eu-translate.de.html"
|
||||
elif locale == "fr":
|
||||
template = "firefox/whatsnew/whatsnew-fx111-eu-translate.fr.html"
|
||||
else:
|
||||
template = "firefox/whatsnew/index.html"
|
||||
elif version.startswith("110.0"):
|
||||
|
|
|
@ -8,51 +8,25 @@
|
|||
@import '~@mozilla-protocol/core/protocol/css/components/notification-bar';
|
||||
|
||||
.wnp-content-main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
padding-top: $spacing-2xl;
|
||||
}
|
||||
|
||||
h1 {
|
||||
padding: $spacing-sm;
|
||||
}
|
||||
.wnp-main-image {
|
||||
margin-bottom: $spacing-2xl;
|
||||
}
|
||||
|
||||
.wnp-main-img-light {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.wnp-main-img-dark {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wnp-main-tagline {
|
||||
@include text-body-lg;
|
||||
text-align: center;
|
||||
color: $color-black;
|
||||
padding: $spacing-sm;
|
||||
}
|
||||
|
||||
@media #{$mq-md} {
|
||||
h1 {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
.wnp-main-tagline {
|
||||
@include text-body-lg;
|
||||
text-align: center;
|
||||
color: $color-black;
|
||||
padding: $spacing-sm;
|
||||
}
|
||||
|
||||
// Dark mode support
|
||||
@media (prefers-color-scheme: dark) {
|
||||
.wnp-content-main {
|
||||
.wnp-main-img-light {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wnp-main-img-dark {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.wnp-main-tagline {
|
||||
color: $color-white;
|
||||
}
|
||||
.wnp-main-title,
|
||||
.wnp-main-tagline {
|
||||
color: $color-white;
|
||||
}
|
||||
}
|
||||
|
|
После Ширина: | Высота: | Размер: 10 KiB |
После Ширина: | Высота: | Размер: 10 KiB |
После Ширина: | Высота: | Размер: 8.2 KiB |
После Ширина: | Высота: | Размер: 8.2 KiB |
После Ширина: | Высота: | Размер: 6.1 KiB |
После Ширина: | Высота: | Размер: 6.1 KiB |
После Ширина: | Высота: | Размер: 7.2 KiB |
После Ширина: | Высота: | Размер: 7.2 KiB |
После Ширина: | Высота: | Размер: 11 KiB |
После Ширина: | Высота: | Размер: 11 KiB |
|
@ -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 pytest
|
||||
|
||||
from pages.firefox.whatsnew.whatsnew_111 import FirefoxWhatsNew111Page
|
||||
|
||||
|
||||
@pytest.mark.skip_if_not_firefox(reason="Whatsnew pages are shown to Firefox only.")
|
||||
@pytest.mark.nondestructive
|
||||
@pytest.mark.parametrize("locale", [("es-ES"), ("it"), ("nl")])
|
||||
def test_pdf_button_is_displayed(locale, base_url, selenium):
|
||||
page = FirefoxWhatsNew111Page(selenium, base_url, locale=locale).open()
|
||||
assert page.is_pdf_button_displayed
|
||||
|
||||
|
||||
@pytest.mark.skip_if_not_firefox(reason="Whatsnew pages are shown to Firefox only.")
|
||||
@pytest.mark.nondestructive
|
||||
@pytest.mark.parametrize("locale", [("de"), ("fr"), ("en-GB")])
|
||||
def test_translate_button_is_displayed(locale, base_url, selenium):
|
||||
page = FirefoxWhatsNew111Page(selenium, base_url, locale=locale).open()
|
||||
assert page.is_translate_button_displayed
|
|
@ -0,0 +1,22 @@
|
|||
# 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 selenium.webdriver.common.by import By
|
||||
|
||||
from pages.base import BasePage
|
||||
|
||||
|
||||
class FirefoxWhatsNew111Page(BasePage):
|
||||
_URL_TEMPLATE = "/{locale}/firefox/111.0/whatsnew/"
|
||||
|
||||
_translate_button_locator = (By.CSS_SELECTOR, ".wnp-main-cta.translate .mzp-c-button")
|
||||
_pdf_button_locator = (By.CSS_SELECTOR, ".wnp-main-cta.pdf .mzp-c-button")
|
||||
|
||||
@property
|
||||
def is_translate_button_displayed(self):
|
||||
return self.is_element_displayed(*self._translate_button_locator)
|
||||
|
||||
@property
|
||||
def is_pdf_button_displayed(self):
|
||||
return self.is_element_displayed(*self._pdf_button_locator)
|