Decommission /firefox/fights-for-you/ page (Fixes #7670)
|
@ -3,7 +3,7 @@
|
|||
"desc": "You have the right to your own life — and your own data. Everything we make and do fights for you.",
|
||||
"highres_image": "home/ffyr-high-res.191bff93b820.png",
|
||||
"image": "home/ffyr.75c74c6ba409.png",
|
||||
"link_url": "firefox.fights-for-you",
|
||||
"link_url": "firefox",
|
||||
"media_icon": "video",
|
||||
"size": "large",
|
||||
"tag_label": "Video",
|
||||
|
|
|
@ -68,7 +68,7 @@ class TestContentCardModel(TestCase):
|
|||
'aspect_ratio': 'mzp-has-aspect-16-9',
|
||||
'desc': u'You have the right to your own life \u2014 and your own data. '
|
||||
u'Everything we make and do fights for you.',
|
||||
'link_url': '/de/firefox/fights-for-you/',
|
||||
'link_url': '/de/firefox/',
|
||||
'tag_label': 'Video',
|
||||
}
|
||||
)
|
||||
|
|
|
@ -604,7 +604,7 @@ redirectpatterns = (
|
|||
redirect(r'^firefox/firefox\.html$', 'firefox.new'),
|
||||
|
||||
# issue 6979
|
||||
redirect(r'^firefoxfightsforyou/?', 'firefox.fights-for-you'),
|
||||
redirect(r'^firefoxfightsforyou/?', 'firefox'),
|
||||
|
||||
# issue 7210
|
||||
redirect(r'^firefox/account/?$', 'firefox.accounts'),
|
||||
|
@ -617,4 +617,7 @@ redirectpatterns = (
|
|||
|
||||
# issue 7491
|
||||
redirect(r'^firefox/organizations/?$', 'firefox.enterprise.index'),
|
||||
|
||||
# issue 7670
|
||||
redirect(r'^/firefox/fights-for-you/?', 'firefox'),
|
||||
)
|
||||
|
|
|
@ -1,134 +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 http://mozilla.org/MPL/2.0/. #}
|
||||
|
||||
{% from "macros.html" import google_play_button with context %}
|
||||
{% from "macros-protocol.html" import call_out, call_out_compact, hero, feature_card with context %}
|
||||
|
||||
{% extends "firefox/base/base-protocol.html" %}
|
||||
|
||||
{% set referrals = '?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=fffy-page' %}
|
||||
|
||||
{% block page_title %}Firefox Fights for you. Wir schützen Deine Daten und verkaufen sie niemals.{% endblock %}
|
||||
{% block page_desc %}Firefox respektiert Deine Privatsphäre und macht es Dir leicht, Deine Daten zu schützen. Mit klaren Privatsphäre-Optionen und Tracking-Schutz. Du entscheidest, was Du teilst und wann.{% endblock %}
|
||||
|
||||
{% block page_css %}
|
||||
{{ css_bundle('fights-for-you') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block body_id %}fights-for-you{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="fffy-c-hero">
|
||||
{% call hero(
|
||||
title='Firefox Fights For You',
|
||||
desc='Privatsphäre sollte einfach sein. Daten sicher. Einstellungen eindeutig. Wir kämpfen für ein besseres Internet – mit Produkten, die Dir auch online die Kontrolle über Dein Leben geben.',
|
||||
class='mzp-has-image mzp-t-firefox mzp-t-product-firefox mzp-t-dark',
|
||||
include_cta=True
|
||||
) %}
|
||||
<p><a id="fffy-video-button" href="https://www.youtube.com/watch?v=3NG6dZl9kpA" data-id="3NG6dZl9kpA" class="mzp-c-button mzp-t-secondary mzp-t-dark mzp-t-small" data-link-type="button" data-link-name="Watch video">Video anschauen</a></p>
|
||||
{% endcall %}
|
||||
|
||||
<div class="fffy-c-product mzp-l-content">
|
||||
{{ high_res_img('firefox/fights-for-you/hero.png', {'alt': '', 'width': '904', 'height': '646'}) }}
|
||||
</div>
|
||||
|
||||
{% call call_out(
|
||||
title='Deine Daten gehören Dir. Wir verkaufen sie niemals.',
|
||||
desc='Firefox respektiert Deine Privatsphäre und macht es Dir leicht, Deine Daten zu schützen. Du entscheidest, was Du teilst und wann.',
|
||||
class='mzp-t-dark mzp-t-firefox',
|
||||
include_cta=True
|
||||
) %}
|
||||
<div class="download-firefox">
|
||||
{{ download_firefox(download_location='primary cta', dom_id='fffy-download-primary') }}
|
||||
</div>
|
||||
{% endcall %}
|
||||
</div>
|
||||
|
||||
<div class="fffy-c-features">
|
||||
<section class="mzp-l-content">
|
||||
{% call feature_card(
|
||||
title='Dein Schutz vor Hackern',
|
||||
image_url='firefox/fights-for-you/pic-monitor.jpg',
|
||||
aspect_ratio='mzp-has-aspect-16-9',
|
||||
class='mzp-l-card-feature-left-third mzp-t-firefox fffy-t-monitor',
|
||||
link_url='https://monitor.firefox.com' + referrals,
|
||||
link_cta='Jetzt zu Firefox Monitor',
|
||||
ga_title='Try Monitor'
|
||||
) %}
|
||||
<p>Warst Du schon einmal von einer Datenpanne betroffen? Firefox Monitor ist ein sicherer Weg, es herauszufinden. Wir können Dich sogar warnen, sobald wir bemerken, dass Du gehackt wurdest.</p>
|
||||
{% endcall %}
|
||||
|
||||
{% call feature_card(
|
||||
title='Deine Privatsphäre – ohne Wenn und Aber',
|
||||
image_url='firefox/fights-for-you/pic-focus.jpg',
|
||||
aspect_ratio='mzp-has-aspect-16-9',
|
||||
class='mzp-l-card-feature-right-third mzp-t-firefox fffy-t-focus',
|
||||
link_url=url('firefox.mobile'),
|
||||
link_cta='Hol Dir Firefox Klar',
|
||||
ga_title='Download Firefox Focus'
|
||||
) %}
|
||||
<p>Die Firefox Klar App blockiert ganz automatisch Elemente zur Aktivitätenverfolgung und damit auch unerwünschte Inhalte. Noch ein Plus: Weniger Tracking bringt mehr Browser-Speed.</p>
|
||||
|
||||
<ul class="app-store-badges u-mobile-content">
|
||||
<li class="badge-android">
|
||||
{{ google_play_button(href=focus_adjust_url('android', 'fights-for-you-page'), id='playStoreLink', product='Klar', extra_data_attributes={'download-product': 'Klar', 'download-version': 'android', 'download-location': 'primary cta'}) }}
|
||||
</li>
|
||||
<li class="badge-ios">
|
||||
<a id="appStoreLink" href="{{ focus_adjust_url('ios', 'fights-for-you-page') }}" data-link-type="download" data-download-os="iOS" data-download-product="Klar" data-download-version="ios" data-download-location="primary cta">
|
||||
<img src="{{ l10n_img('firefox/ios/btn-app-store.svg') }}" alt="{{ _('Download on the App Store') }}" width="152" height="45">
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
{% endcall %}
|
||||
|
||||
{% call feature_card(
|
||||
title='Good-Tech für Dich – transparent und ehrlich',
|
||||
image_url='firefox/fights-for-you/pic-privacy.jpg',
|
||||
aspect_ratio='mzp-has-aspect-16-9',
|
||||
class='mzp-l-card-feature-left-third mzp-t-firefox fffy-t-privacy',
|
||||
link_url='https://blog.mozilla.org/internetcitizen/de/2018/08/31/so-stehen-wir-bei-mozilla-zu-deiner-privatsphaere/' + referrals,
|
||||
link_cta='Privatsphäre bei Firefox',
|
||||
ga_title='Read our Policy'
|
||||
) %}
|
||||
<p>Firefox-Produkte werden für Menschen entwickelt, nicht für Profit. Wir erheben nur wenig Daten und sagen Dir immer, wofür wir sie verwenden. Unsere Datenschutz-Grundsätze geben bei allem, was wir tun, den Ton an.</p>
|
||||
{% endcall %}
|
||||
</section>
|
||||
|
||||
|
||||
{% call call_out_compact(
|
||||
title='<span>Dein Leben.</span> <span>Deine Privatsphäre.</span> <span>Dein Browser.</span><br><span>Firefox fights for you.</span>'|safe,
|
||||
desc=None,
|
||||
class='mzp-t-firefox mzp-t-dark fffy-c-footer-callout'
|
||||
) %}
|
||||
<div class="download-firefox">
|
||||
{{ download_firefox(download_location='secondary cta', dom_id='fffy-download-secondary') }}
|
||||
</div>
|
||||
{% endcall %}
|
||||
</div>
|
||||
|
||||
<div id="fffy-video-modal" class="mzp-u-modal-content">
|
||||
<div class="ytcontainer-video">
|
||||
<div class="video-container">
|
||||
<div id="fffy-video-player"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<aside id="fffy-focus-modal" class="mzp-u-modal-content">
|
||||
<h3 class="c-modal-title">Hol Dir Firefox Klar</h3>
|
||||
|
||||
<div class="modal-content-wrapper">
|
||||
<p>Bitte QR-Code scannen, um loszulegen.</p>
|
||||
<div class="qr-code-wrapper">
|
||||
<img src="{{ static('img/firefox/fights-for-you/qrcode-klar.png') }}" alt="" width="300" height="300">
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
{{ js_bundle('fights-for-you') }}
|
||||
{% endblock %}
|
|
@ -1,134 +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 http://mozilla.org/MPL/2.0/. #}
|
||||
|
||||
{% from "macros.html" import google_play_button with context %}
|
||||
{% from "macros-protocol.html" import call_out, call_out_compact, hero, feature_card with context %}
|
||||
|
||||
{% extends "firefox/base/base-protocol.html" %}
|
||||
|
||||
{% set referrals = '?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=fffy-page' %}
|
||||
|
||||
{% block page_title %}Firefox se bat pour vous. Nous gardons vos données en sécurité, nous ne les vendons pas, jamais.{% endblock %}
|
||||
{% block page_desc %}Firefox assure la confidentialité de vos informations personnelles, et vous offre des options très claires. Vous avez le droit de rester maître de votre vie – et de vos données. Vous décidez de ce que vous désirez partager, et à quel moment.{% endblock %}
|
||||
|
||||
{% block page_css %}
|
||||
{{ css_bundle('fights-for-you') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block body_id %}fights-for-you{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="fffy-c-hero">
|
||||
{% call hero(
|
||||
title='Firefox se bat pour vous',
|
||||
desc='Vous avez le droit de rester maître de votre vie – et de vos données. Tout ce que nous créons et décidons, nous le faisons pour vous.',
|
||||
class='mzp-has-image mzp-t-firefox mzp-t-product-firefox mzp-t-dark',
|
||||
include_cta=True
|
||||
) %}
|
||||
<p><a id="fffy-video-button" href="https://www.youtube.com/watch?v=_WjOIlCG7xw" data-id="_WjOIlCG7xw" class="mzp-c-button mzp-t-secondary mzp-t-dark mzp-t-small" data-link-type="button" data-link-name="Watch video">Regarder la vidéo</a></p>
|
||||
{% endcall %}
|
||||
|
||||
<div class="fffy-c-product mzp-l-content">
|
||||
{{ high_res_img('firefox/fights-for-you/hero.png', {'alt': '', 'width': '904', 'height': '646'}) }}
|
||||
</div>
|
||||
|
||||
{% call call_out(
|
||||
title='Nous gardons vos données en sécurité, nous ne les vendons pas, jamais.',
|
||||
desc='Firefox assure la confidentialité de vos informations personnelles, et vous laisse le choix en toute transparence. Vous décidez de ce que vous partagez, et à quel moment.',
|
||||
class='mzp-t-dark mzp-t-firefox',
|
||||
include_cta=True
|
||||
) %}
|
||||
<div class="download-firefox">
|
||||
{{ download_firefox(download_location='primary cta', dom_id='fffy-download-primary') }}
|
||||
</div>
|
||||
{% endcall %}
|
||||
</div>
|
||||
|
||||
<div class="fffy-c-features">
|
||||
<section class="mzp-l-content">
|
||||
{% call feature_card(
|
||||
title='Vous méritez une protection contre les pirates informatiques.',
|
||||
image_url='firefox/fights-for-you/pic-monitor.jpg',
|
||||
aspect_ratio='mzp-has-aspect-16-9',
|
||||
class='mzp-l-card-feature-left-third mzp-t-firefox fffy-t-monitor',
|
||||
link_url='https://monitor.firefox.com' + referrals,
|
||||
link_cta='Essayer Firefox Monitor',
|
||||
ga_title='Try Monitor'
|
||||
) %}
|
||||
<p>Firefox Monitor vous fournit les outils pour garder vos informations en sécurité et vous alerte lorsqu’une violation de données qui vous concerne est détectée.</p>
|
||||
{% endcall %}
|
||||
|
||||
{% call feature_card(
|
||||
title='Vous méritez une confidentialité automatique.',
|
||||
image_url='firefox/fights-for-you/pic-focus.jpg',
|
||||
aspect_ratio='mzp-has-aspect-16-9',
|
||||
class='mzp-l-card-feature-right-third mzp-t-firefox fffy-t-focus',
|
||||
link_url=url('firefox.mobile'),
|
||||
link_cta='Télécharger Firefox Focus',
|
||||
ga_title='Download Firefox Focus'
|
||||
) %}
|
||||
<p>L’application mobile Firefox Focus bloque automatiquement les pisteurs qui vous suivent sur Internet. Moins de pistage égal plus de rapidité.</p>
|
||||
|
||||
<ul class="app-store-badges u-mobile-content">
|
||||
<li class="badge-android">
|
||||
{{ google_play_button(href=focus_adjust_url('android', 'fights-for-you-page'), id='playStoreLink', product='Focus', extra_data_attributes={'download-product': 'Focus', 'download-version': 'android', 'download-location': 'primary cta'}) }}
|
||||
</li>
|
||||
<li class="badge-ios">
|
||||
<a id="appStoreLink" href="{{ focus_adjust_url('ios', 'fights-for-you-page') }}" data-link-type="download" data-download-os="iOS" data-download-product="Focus" data-download-version="ios" data-download-location="primary cta">
|
||||
<img src="{{ l10n_img('firefox/ios/btn-app-store.svg') }}" alt="{{ _('Download on the App Store') }}" width="152" height="45">
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
{% endcall %}
|
||||
|
||||
{% call feature_card(
|
||||
title='Vous méritez une technologie fiable.',
|
||||
image_url='firefox/fights-for-you/pic-privacy.jpg',
|
||||
aspect_ratio='mzp-has-aspect-16-9',
|
||||
class='mzp-l-card-feature-left-third mzp-t-firefox fffy-t-privacy',
|
||||
link_url='https://blog.mozilla.org/internetcitizen/fr/2018/12/20/philosophie-firefox-matiere-confidentialite/' + referrals,
|
||||
link_cta='Lire nos Principes de confidentialité',
|
||||
ga_title='Read our Policy'
|
||||
) %}
|
||||
<p>Nous concevons les produits Firefox pour vous servir, et non pour générer des bénéfices. Pour nous, la confidentialité est plus qu’une politique. C’est un ensemble de principes qui guident nos décisions jour après jour.</p>
|
||||
{% endcall %}
|
||||
</section>
|
||||
|
||||
|
||||
{% call call_out_compact(
|
||||
title='<span>Votre vie ne regarde que vous.</span> <span>Elle ne nous concerne pas.</span> <span>Firefox se bat pour vous.</span>'|safe,
|
||||
desc=None,
|
||||
class='mzp-t-firefox mzp-t-dark fffy-c-footer-callout'
|
||||
) %}
|
||||
<div class="download-firefox">
|
||||
{{ download_firefox(download_location='secondary cta', dom_id='fffy-download-secondary') }}
|
||||
</div>
|
||||
{% endcall %}
|
||||
</div>
|
||||
|
||||
<div id="fffy-video-modal" class="mzp-u-modal-content">
|
||||
<div class="ytcontainer-video">
|
||||
<div class="video-container">
|
||||
<div id="fffy-video-player"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<aside id="fffy-focus-modal" class="mzp-u-modal-content">
|
||||
<h3 class="c-modal-title">Télécharger Firefox Focus</h3>
|
||||
|
||||
<div class="modal-content-wrapper">
|
||||
<p>Scannez le QR code pour démarrer.</p>
|
||||
<div class="qr-code-wrapper">
|
||||
<img src="{{ static('img/firefox/fights-for-you/qrcode-focus.png') }}" alt="" width="300" height="300">
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
{{ js_bundle('fights-for-you') }}
|
||||
{% endblock %}
|
|
@ -1,134 +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 http://mozilla.org/MPL/2.0/. #}
|
||||
|
||||
{% from "macros.html" import google_play_button with context %}
|
||||
{% from "macros-protocol.html" import call_out, call_out_compact, hero, feature_card with context %}
|
||||
|
||||
{% extends "firefox/base/base-protocol.html" %}
|
||||
|
||||
{% set referrals = '?utm_source=www.mozilla.org&utm_medium=referral&utm_campaign=fffy-page' %}
|
||||
|
||||
{% block page_title %}Firefox Fights For You. We keep your data safe, never sold.{% endblock %}
|
||||
{% block page_desc %}Firefox products keep what’s personal private. And make the choices clear. You have the right to own your life–and your data. You decide what to share and when.{% endblock %}
|
||||
{% block page_image %}{{ static('img/firefox/fights-for-you/share.png') }}{% endblock %}
|
||||
|
||||
{% block page_css %}
|
||||
{{ css_bundle('fights-for-you') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block body_id %}fights-for-you{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="fffy-c-hero">
|
||||
{% call hero(
|
||||
title='Firefox Fights For You',
|
||||
desc='You have the right to own your life – and your data. Everything we make and do fights for you.',
|
||||
class='mzp-has-image mzp-t-firefox mzp-t-product-firefox mzp-t-dark',
|
||||
include_cta=True
|
||||
) %}
|
||||
<p><a id="fffy-video-button" href="https://www.youtube.com/watch?v=rZAQ6vgt8nE" data-id="rZAQ6vgt8nE" class="mzp-c-button mzp-t-secondary mzp-t-dark mzp-t-small" data-link-type="button" data-link-name="Watch video">Watch video</a></p>
|
||||
{% endcall %}
|
||||
|
||||
<div class="fffy-c-product mzp-l-content">
|
||||
{{ high_res_img('firefox/fights-for-you/hero.png', {'alt': 'Join the millions of users who already trust Firefox with their privacy.', 'width': '904', 'height': '646'}) }}
|
||||
</div>
|
||||
|
||||
{% call call_out(
|
||||
title='We keep your data safe, never sold.',
|
||||
desc='Firefox products keep what’s personal private. And make the choices clear. You decide what to share and when.',
|
||||
class='mzp-t-dark mzp-t-firefox',
|
||||
include_cta=True
|
||||
) %}
|
||||
<div class="download-firefox">
|
||||
{{ download_firefox(download_location='primary cta', dom_id='fffy-download-primary') }}
|
||||
</div>
|
||||
{% endcall %}
|
||||
</div>
|
||||
|
||||
<div class="fffy-c-features">
|
||||
<section class="mzp-l-content">
|
||||
{% call feature_card(
|
||||
title='You deserve a defense against hackers.',
|
||||
image_url='firefox/fights-for-you/pic-monitor.jpg',
|
||||
aspect_ratio='mzp-has-aspect-16-9',
|
||||
class='mzp-l-card-feature-left-third mzp-t-firefox fffy-t-monitor',
|
||||
link_url='https://monitor.firefox.com' + referrals,
|
||||
link_cta='Try Firefox Monitor',
|
||||
ga_title='Try Monitor'
|
||||
) %}
|
||||
<p>Firefox Monitor gives you the tools to keep your information safe. And alerts you when a known data breach affects you.</p>
|
||||
{% endcall %}
|
||||
|
||||
{% call feature_card(
|
||||
title='You deserve privacy that’s automatic.',
|
||||
image_url='firefox/fights-for-you/pic-focus.jpg',
|
||||
aspect_ratio='mzp-has-aspect-16-9',
|
||||
class='mzp-l-card-feature-right-third mzp-t-firefox fffy-t-focus',
|
||||
link_url=url('firefox.mobile'),
|
||||
link_cta='Download Firefox Focus',
|
||||
ga_title='Download Firefox Focus'
|
||||
) %}
|
||||
<p>The Firefox Focus mobile app automatically blocks trackers that follow you around the web. Less tracking means more speed.</p>
|
||||
|
||||
<ul class="app-store-badges u-mobile-content">
|
||||
<li class="badge-android">
|
||||
{{ google_play_button(href='https://mzl.la/2I0kjYd', id='playStoreLink', product='Focus', extra_data_attributes={'download-product': 'Focus', 'download-version': 'android', 'download-location': 'primary cta'}) }}
|
||||
</li>
|
||||
<li class="badge-ios">
|
||||
<a id="appStoreLink" href="https://mzl.la/2I1I2r5" data-link-type="download" data-download-os="iOS" data-download-product="Focus" data-download-version="ios" data-download-location="primary cta">
|
||||
<img src="{{ l10n_img('firefox/ios/btn-app-store.svg') }}" alt="{{ _('Download on the App Store') }}" width="152" height="45">
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
{% endcall %}
|
||||
|
||||
{% call feature_card(
|
||||
title='You deserve tech you can trust.',
|
||||
image_url='firefox/fights-for-you/pic-privacy.jpg',
|
||||
aspect_ratio='mzp-has-aspect-16-9',
|
||||
class='mzp-l-card-feature-left-third mzp-t-firefox fffy-t-privacy',
|
||||
link_url='https://blog.mozilla.org/internetcitizen/2018/08/13/firefox-privacy-philosophy/' + referrals,
|
||||
link_cta='Read our Privacy Principles',
|
||||
ga_title='Read our Policy'
|
||||
) %}
|
||||
<p>We design Firefox products to serve you, not a bottom line. Privacy for us is more than a policy; it’s a set of principles we live by.</p>
|
||||
{% endcall %}
|
||||
</section>
|
||||
|
||||
{% call call_out_compact(
|
||||
title='<span>Your life is your business.</span> <span>Not ours.</span><br> <span>Firefox fights for you.</span>'|safe,
|
||||
desc=None,
|
||||
class='mzp-t-firefox mzp-t-dark fffy-c-footer-callout'
|
||||
) %}
|
||||
<div class="download-firefox">
|
||||
{{ download_firefox(download_location='secondary cta', dom_id='fffy-download-secondary') }}
|
||||
</div>
|
||||
{% endcall %}
|
||||
</div>
|
||||
|
||||
<div id="fffy-video-modal" class="mzp-u-modal-content">
|
||||
<div class="ytcontainer-video">
|
||||
<div class="video-container">
|
||||
<div id="fffy-video-player"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<aside id="fffy-focus-modal" class="mzp-u-modal-content">
|
||||
<h3 class="c-modal-title">{{ _('Download Firefox Focus') }}</h3>
|
||||
|
||||
<div class="modal-content-wrapper">
|
||||
<p>{{ _('Scan the QR code to get started.') }}</p>
|
||||
<div class="qr-code-wrapper">
|
||||
<img src="{{ static('img/firefox/fights-for-you/qrcode-focus.png') }}" alt="" width="300" height="300">
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
{{ js_bundle('fights-for-you') }}
|
||||
{% endblock %}
|
|
@ -41,7 +41,6 @@ urlpatterns = (
|
|||
page('firefox/enterprise/signup', 'firefox/enterprise/signup.html'),
|
||||
page('firefox/enterprise/signup/thanks', 'firefox/enterprise/signup-thanks.html'),
|
||||
page('firefox/facebookcontainer', 'firefox/facebookcontainer/index.html'),
|
||||
page('firefox/fights-for-you', 'firefox/fights-for-you.html', active_locales=['en-US', 'de', 'fr']),
|
||||
page('firefox/features', 'firefox/features/index.html'),
|
||||
url('^firefox/features/bookmarks/$',
|
||||
views.FeaturesBookmarksView.as_view(),
|
||||
|
|
|
@ -1,257 +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 http://mozilla.org/MPL/2.0/.
|
||||
|
||||
|
||||
// *** WARNING ***
|
||||
// The fonts used here are not approved for use on any other pages.
|
||||
// Don't copy this implementation. Global brand fonts will be
|
||||
// managed upstream in Protocol.
|
||||
|
||||
|
||||
$font-path: '/media/fonts';
|
||||
$image-path: '/media/protocol/img';
|
||||
|
||||
@import '../../protocol/css/includes/lib';
|
||||
@import '../../protocol/css/components/modal';
|
||||
@import '../../protocol/css/components/call-out';
|
||||
@import '../../protocol/css/components/feature-card';
|
||||
@import '../../protocol/css/components/hero';
|
||||
|
||||
|
||||
$fffy-purple: #2A0140; // do not update to match new colour tokens without updating background image assets
|
||||
|
||||
.fffy-c-hero {
|
||||
background-color: $fffy-purple;
|
||||
background-image: url('/media/img/firefox/fights-for-you/noodle.svg'), url('/media/img/firefox/fights-for-you/chevron.svg');
|
||||
background-position: top 200px left -60px, top -80px right calc(30% - 220px);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 400px;
|
||||
color: #fff;
|
||||
padding-bottom: $layout-md;
|
||||
|
||||
@media #{$mq-sm} {
|
||||
background-position: top 200px right calc(60% + 110px), top -80px right calc(30% - 220px);
|
||||
}
|
||||
|
||||
@media #{$mq-md} {
|
||||
background-position: top 90px left calc(44% - 400px), top right calc(30% - 220px);
|
||||
background-size: auto;
|
||||
padding-bottom: $layout-lg;
|
||||
}
|
||||
|
||||
@media (min-width: 1440px) {
|
||||
background-position: top 200px left -80px, top right calc(22% - 220px);
|
||||
}
|
||||
|
||||
.mzp-c-hero.mzp-t-dark {
|
||||
background: transparent;
|
||||
padding-bottom: 0;
|
||||
|
||||
.mzp-l-content {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.mzp-c-hero-title {
|
||||
color: $color-red-50;
|
||||
@include text-display-lg;
|
||||
}
|
||||
|
||||
@media #{$mq-md} {
|
||||
.mzp-has-image .mzp-c-hero-body {
|
||||
width: 50%;
|
||||
margin-right: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.mzp-c-call-out.mzp-t-dark {
|
||||
background: transparent;
|
||||
|
||||
.mzp-l-content {
|
||||
background: url('/media/img/firefox/fights-for-you/callout-left.png'), url('/media/img/firefox/fights-for-you/callout-right.png');
|
||||
background-position: bottom left, top 30px right;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 228px, 108px;
|
||||
min-height: 330px;
|
||||
padding-top: 0;
|
||||
|
||||
// max-width instead of min-width because I want it to do site defaults above this
|
||||
// and I don't want to have to re-define all of them
|
||||
@media (max-width: 767px) {
|
||||
max-width: 480px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.mzp-c-call-out-title {
|
||||
color: $color-pink-50;
|
||||
@include text-display-lg;
|
||||
}
|
||||
}
|
||||
|
||||
.fffy-c-product {
|
||||
margin: 0 auto;
|
||||
max-width: 480px;
|
||||
padding-top: 0;
|
||||
text-align: center;
|
||||
|
||||
@media #{$mq-md} {
|
||||
width: 840px;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
@media #{$mq-xl} {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.fffy-c-features {
|
||||
position: relative;
|
||||
|
||||
.mzp-c-card-feature {
|
||||
img {
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.mzp-c-card-feature-title {
|
||||
color: $fffy-purple;
|
||||
}
|
||||
|
||||
.mzp-c-card-feature-title:before {
|
||||
content: url('/media/img/firefox/fights-for-you/icon-monitor.svg');
|
||||
display: block;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
padding-top: $spacing-sm;
|
||||
padding-bottom: $spacing-md;
|
||||
|
||||
|
||||
@media #{$mq-md} {
|
||||
padding-top: 0;
|
||||
padding-bottom: $spacing-lg;
|
||||
}
|
||||
}
|
||||
|
||||
.fffy-t-focus .mzp-c-card-feature-title:before {
|
||||
content: url('/media/img/firefox/fights-for-you/icon-focus.svg');
|
||||
}
|
||||
|
||||
.fffy-t-privacy .mzp-c-card-feature-title:before {
|
||||
content: url('/media/img/firefox/fights-for-you/icon-privacy.svg');
|
||||
}
|
||||
}
|
||||
|
||||
.fffy-t-focus .u-mobile-content {
|
||||
display: none;
|
||||
|
||||
.ios & {
|
||||
display: block;
|
||||
|
||||
.badge-android {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.android & {
|
||||
display: block;
|
||||
|
||||
.badge-ios {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ios,
|
||||
.android {
|
||||
.fffy-t-focus .mzp-c-cta-link {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.mzp-c-call-out-compact.fffy-c-footer-callout {
|
||||
background: $fffy-purple;
|
||||
|
||||
.mzp-c-call-out-title {
|
||||
color: $color-pink-50;
|
||||
|
||||
span {
|
||||
display: inline-block;
|
||||
|
||||
&:last-child {
|
||||
color: $color-red-50;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media #{$mq-md} {
|
||||
.mzp-c-call-out-title {
|
||||
@include font-size(40px);
|
||||
}
|
||||
}
|
||||
|
||||
@media #{$mq-lg} {
|
||||
|
||||
.mzp-l-content {
|
||||
max-width: $content-max;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
// YouTube iframe responsive in modal.
|
||||
|
||||
.mzp-u-modal-content {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ytcontainer-video {
|
||||
max-width: 100%;
|
||||
|
||||
.video-container {
|
||||
height: 0;
|
||||
margin-bottom: $spacing-lg;
|
||||
overflow: hidden;
|
||||
padding-bottom: 56.25%;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
iframe {
|
||||
height: 100%;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top:0;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
// Compact modal for QR codes
|
||||
.mzp-c-modal.l-compact {
|
||||
.c-modal-title {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mzp-c-modal-inner {
|
||||
@media #{$mq-md} {
|
||||
max-width: $content-sm;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.mzp-c-modal-overlay-contents {
|
||||
padding: $spacing-lg;
|
||||
text-align: center;
|
||||
|
||||
.qr-code-wrapper {
|
||||
margin: 0 auto $spacing-lg;
|
||||
}
|
||||
|
||||
.mobile-store-buttons li {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Двоичные данные
media/img/firefox/fights-for-you/callout-left.png
До Ширина: | Высота: | Размер: 6.0 KiB |
Двоичные данные
media/img/firefox/fights-for-you/callout-right.png
До Ширина: | Высота: | Размер: 4.9 KiB |
|
@ -1 +0,0 @@
|
|||
<svg width="637" height="331" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h115.932l93.122 206.713 352.94-170.229c26.296-12.683 57.634-1.527 69.994 24.917 12.361 26.444 1.064 58.163-25.233 70.847L205.531 325.765c-26.557 12.808-58.193 1.294-70.303-25.589L0 0z" fill="#FF2889" fill-rule="nonzero"/></svg>
|
До Ширина: | Высота: | Размер: 305 B |
Двоичные данные
media/img/firefox/fights-for-you/hero-high-res.png
До Ширина: | Высота: | Размер: 164 KiB |
Двоичные данные
media/img/firefox/fights-for-you/hero.png
До Ширина: | Высота: | Размер: 55 KiB |
|
@ -1 +0,0 @@
|
|||
<svg width="40" height="40" xmlns="http://www.w3.org/2000/svg"><path d="M14.833 7.5c-.166-1 .334-1.833 1.334-2 1.166-.333 2.5-.5 3.833-.5 12.5 0 19.5 13.667 19.833 14.333.167.5.167 1 0 1.5-1 2-2.333 3.834-3.833 5.667-.333.333-.833.667-1.333.667-.334 0-.834-.167-1-.334-.667-.666-.834-1.666-.167-2.333 1.167-1.333 2.167-2.667 3-4.167C35 17.667 29 8.667 20 8.667c-1 0-2.167.166-3.167.333-.833-.167-1.666-.667-2-1.5zm24.667 32c-.333.333-.667.5-1.167.5s-.833-.167-1.166-.5l-7.5-7.5C26.833 34 23.5 35 20 35 7.5 35 .5 21.333.167 20.667c-.167-.5-.167-1 0-1.5C2 15.667 4.667 12.5 7.667 10L.5 2.833C-.167 2.167-.167 1.167.5.5c.667-.667 1.667-.667 2.333 0L39.5 37.167c.667.666.667 1.666 0 2.333zm-23-19.333c0 .833.333 1.666 1 2.333 1 .833 2.167 1 3.333.667L16.667 19c0 .5-.167.833-.167 1.167zm10.833 9.5l-4-3.834c-1 .667-2.333 1-3.5 1-1.666 0-3.333-.666-4.5-1.833-1.333-1.167-2-2.833-2.166-4.667 0-1.333.333-2.666 1-3.833L10 12.333A32.34 32.34 0 0 0 3.5 20C5 22.667 11 31.667 20 31.667c2.5 0 5-.667 7.333-2z" fill="#FF2889" fill-rule="nonzero"/></svg>
|
До Ширина: | Высота: | Размер: 1.0 KiB |
|
@ -1 +0,0 @@
|
|||
<svg width="37" height="40" xmlns="http://www.w3.org/2000/svg"><path d="M34.069 8.34l-4.003-2.3L20.948.802 20.662.64a4.873 4.873 0 0 0-4.83 0l-.285.162L2.704 8.179l-.285.161A4.82 4.82 0 0 0 0 12.51v15.415c0 1.715.927 3.308 2.419 4.17l13.12 7.538a2.02 2.02 0 0 0 2.75-.73 2.002 2.002 0 0 0-.733-2.74L4.721 28.787a1.378 1.378 0 0 1-.687-1.193V12.84c0-.492.262-.946.687-1.192l2.272-1.308 10.57-6.077c.426-.246.951-.238 1.376 0l12.843 7.377c.425.247.687.7.687 1.193v14.754c0 .492-.262.946-.687 1.192l-4.343 2.5-2.195-3.316a10.376 10.376 0 0 0 3.478-7.746c0-5.746-4.698-10.423-10.47-10.423-5.773 0-10.47 4.677-10.47 10.423s4.69 10.423 10.462 10.423c1.236 0 2.426-.215 3.531-.615l3.33 5.038c.054.077.109.154.17.224.008.015.024.023.039.038.07.077.147.146.224.208.023.015.039.03.062.046a2.2 2.2 0 0 0 .286.177c.023.007.046.023.07.03.084.039.177.077.27.1.023.008.038.016.062.016.108.03.216.046.324.054.031 0 .062.007.093.007.03 0 .062.008.093.008.061 0 .123-.008.185-.015.031 0 .054 0 .085-.008.116-.015.224-.038.34-.077.031-.008.062-.023.085-.03.085-.031.17-.07.255-.116.016-.008.039-.015.054-.023l6.275-3.608a4.82 4.82 0 0 0 2.418-4.169V12.51a4.852 4.852 0 0 0-2.426-4.17zm-22.27 11.877c0-3.538 2.89-6.415 6.445-6.415 3.554 0 6.444 2.877 6.444 6.415 0 3.539-2.89 6.416-6.444 6.416-3.555 0-6.445-2.877-6.445-6.416z" fill="#FF7038" fill-rule="nonzero"/></svg>
|
До Ширина: | Высота: | Размер: 1.3 KiB |
|
@ -1 +0,0 @@
|
|||
<svg width="30" height="38" xmlns="http://www.w3.org/2000/svg"><path d="M29.833 11.667c-.166-.167-.166-.334-.333-.5l-10-10C19.333 1 19.167.833 19 .833c-.167-.166-.5-.166-.667-.166H5c-2.833 0-5 2.166-5 5v26.666c0 2.834 2.167 5 5 5h20c2.833 0 5-2.166 5-5v-20c0-.166 0-.5-.167-.666zM20 6.333l4.333 4.334H20V6.333zM25 34H5c-1 0-1.667-.667-1.667-1.667V5.667C3.333 4.667 4 4 5 4h11.667v8.333c0 1 .666 1.667 1.666 1.667h8.334v18.333C26.667 33.333 26 34 25 34zm-1.667-13.333c0 1-.666 1.666-1.666 1.666H8.333c-1 0-1.666-.666-1.666-1.666 0-1 .666-1.667 1.666-1.667h13.334c1 0 1.666.667 1.666 1.667zm0 6.666c0 1-.666 1.667-1.666 1.667H8.333c-1 0-1.666-.667-1.666-1.667s.666-1.666 1.666-1.666h13.334c1 0 1.666.666 1.666 1.666zM6.667 14c0-1 .666-1.667 1.666-1.667h3.334c1 0 1.666.667 1.666 1.667s-.666 1.667-1.666 1.667H8.333c-1 0-1.666-.667-1.666-1.667z" fill="#9059FF" fill-rule="nonzero"/></svg>
|
До Ширина: | Высота: | Размер: 885 B |
|
@ -1 +0,0 @@
|
|||
<svg width="745" height="618" xmlns="http://www.w3.org/2000/svg"><path d="M49.258 33.55C66.216 2.958 104.796-8.08 135.428 8.9c30.632 16.98 41.717 55.546 24.759 86.14-71.225 128.494-24.67 290.47 103.986 361.785 128.655 71.315 290.69 24.962 361.916-103.532 16.958-30.593 55.538-41.63 86.17-24.65 30.632 16.98 41.717 55.545 24.759 86.14C631.875 604.462 392.68 672.888 202.76 567.614 12.841 462.341-55.884 223.232 49.258 33.551z" fill="#9059FF" fill-rule="nonzero"/></svg>
|
До Ширина: | Высота: | Размер: 468 B |
Двоичные данные
media/img/firefox/fights-for-you/pic-focus.jpg
До Ширина: | Высота: | Размер: 58 KiB |
Двоичные данные
media/img/firefox/fights-for-you/pic-monitor.jpg
До Ширина: | Высота: | Размер: 79 KiB |
Двоичные данные
media/img/firefox/fights-for-you/pic-privacy.jpg
До Ширина: | Высота: | Размер: 75 KiB |
Двоичные данные
media/img/firefox/fights-for-you/qrcode-focus.png
До Ширина: | Высота: | Размер: 594 B |
Двоичные данные
media/img/firefox/fights-for-you/qrcode-klar.png
До Ширина: | Высота: | Размер: 599 B |
Двоичные данные
media/img/firefox/fights-for-you/share.png
До Ширина: | Высота: | Размер: 170 KiB |
|
@ -1,115 +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 http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
// Set up modal for the Focus link
|
||||
var focusContent = document.getElementById('fffy-focus-modal');
|
||||
var focusTrigger = document.querySelector('.fffy-t-focus .mzp-c-cta-link');
|
||||
var focusTitle = focusContent.querySelector('.c-modal-title');
|
||||
|
||||
focusTrigger.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
Mzp.Modal.createModal(e.target, focusContent, {
|
||||
title: focusTitle.innerHTML,
|
||||
className: 'mzp-t-firefox l-compact',
|
||||
closeText: window.Mozilla.Utils.trans('global-close'),
|
||||
});
|
||||
|
||||
window.dataLayer.push({
|
||||
'event': 'in-page-interaction',
|
||||
'eAction': 'link click',
|
||||
'eLabel': 'Download Firefox Focus'
|
||||
});
|
||||
}, false);
|
||||
|
||||
})();
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
/* global YT */
|
||||
/* eslint no-unused-vars: [2, { "varsIgnorePattern": "onYouTubeIframeAPIReady" }] */
|
||||
|
||||
var content = document.getElementById('fffy-video-modal');
|
||||
var button = document.getElementById('fffy-video-button');
|
||||
var player = document.getElementById('fffy-video-player');
|
||||
var tag = document.createElement('script');
|
||||
tag.src = 'https://www.youtube.com/iframe_api';
|
||||
var firstScriptTag = document.getElementsByTagName('script')[0];
|
||||
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
||||
|
||||
function onYouTubeIframeAPIReady() {
|
||||
// lazy load video when visitor clicks the button
|
||||
var videoId = button.getAttribute('data-id');
|
||||
|
||||
button.setAttribute('role', 'button');
|
||||
|
||||
button.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var ytPlayer = new YT.Player(player, {
|
||||
height: '703',
|
||||
width: '1250',
|
||||
videoId: videoId,
|
||||
playerVars: {
|
||||
modestbranding: 1, // hide YouTube logo.
|
||||
rel: 0, // do not show related videos on end.
|
||||
},
|
||||
events: {
|
||||
'onReady': onPlayerReady,
|
||||
'onStateChange': onPlayerStateChange
|
||||
}
|
||||
});
|
||||
|
||||
Mzp.Modal.createModal(e.target, content, {
|
||||
title: 'Firefox Fights For You',
|
||||
className: 'mzp-has-media',
|
||||
closeText: 'Close modal',
|
||||
onDestroy: function() {
|
||||
ytPlayer.destroy();
|
||||
}
|
||||
});
|
||||
|
||||
function onPlayerReady(event) {
|
||||
event.target.playVideo();
|
||||
}
|
||||
|
||||
function onPlayerStateChange(event) {
|
||||
var state;
|
||||
|
||||
switch(event.data) {
|
||||
case YT.PlayerState.PLAYING:
|
||||
state = 'video play';
|
||||
break;
|
||||
case YT.PlayerState.PAUSED:
|
||||
state = 'video paused';
|
||||
break;
|
||||
case YT.PlayerState.ENDED:
|
||||
state = 'video complete';
|
||||
Mzp.Modal.closeModal();
|
||||
break;
|
||||
}
|
||||
|
||||
if (state) {
|
||||
window.dataLayer.push({
|
||||
'event': 'video-interaction',
|
||||
'videoTitle': 'Firefox Fights For You',
|
||||
'interaction': state
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Mozilla.fffyOnYouTubeIframeAPIReady = onYouTubeIframeAPIReady;
|
||||
})();
|
||||
|
||||
// YouTube API hook has to be in global scope
|
||||
function onYouTubeIframeAPIReady() {
|
||||
'use strict';
|
||||
|
||||
Mozilla.fffyOnYouTubeIframeAPIReady();
|
||||
}
|
|
@ -788,12 +788,6 @@
|
|||
],
|
||||
"name": "firefox_facebook_container"
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"css/firefox/fights-for-you.scss"
|
||||
],
|
||||
"name": "fights-for-you"
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"css/newsletter/fxnewsletter-subscribe.less",
|
||||
|
@ -883,13 +877,6 @@
|
|||
],
|
||||
"name": "firefox_facebook_container_video"
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"protocol/js/protocol-modal.js",
|
||||
"js/firefox/fights-for-you.js"
|
||||
],
|
||||
"name": "fights-for-you"
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"js/base/mozilla-notification-banner.js",
|
||||
|
|
|
@ -1257,10 +1257,8 @@ URLS = flatten((
|
|||
url_test('/foundation/issues/', 'https://foundation.mozilla.org/initiatives/'),
|
||||
url_test('/foundation/leadership-network/', 'https://foundation.mozilla.org/'),
|
||||
url_test('/foundation/advocacy/', 'https://foundation.mozilla.org/'),
|
||||
|
||||
# Issue 6979
|
||||
url_test('/firefoxfightsforyou/', '/firefox/fights-for-you/'),
|
||||
|
||||
url_test('/firefoxfightsforyou/', '/firefox/'),
|
||||
# Issue 6994
|
||||
url_test('/contribute/signup/', 'https://activate.mozilla.community/'),
|
||||
url_test('/contribute/task/{,devtools-challenger/, firefox-mobile/}', 'https://activate.mozilla.community/'),
|
||||
|
@ -1277,4 +1275,8 @@ URLS = flatten((
|
|||
|
||||
# Issue 7491
|
||||
url_test('/firefox/organizations/', '/firefox/enterprise/'),
|
||||
|
||||
# Issue 7670
|
||||
url_test('/firefox/fights-for-you/', '/firefox/'),
|
||||
|
||||
))
|
||||
|
|