Skip to content

Commit

Permalink
Add UK influencer campaign page (Fixes mozilla#15841)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexgibson committed Jan 23, 2025
1 parent eefdbfa commit 114542d
Show file tree
Hide file tree
Showing 11 changed files with 426 additions and 19 deletions.
2 changes: 1 addition & 1 deletion bedrock/base/templates/base-protocol.html
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@
<!--<![endif]-->

<!--[if IE 9]>
{# IE9 has its own lib JS bundle containing dependencies for anaytics and consent management. #}
{# IE9 has its own lib JS bundle containing dependencies for analytics and consent management. #}
{{ js_bundle('lib-ie') }}
<![endif]-->
{% endblock %}
Expand Down
2 changes: 2 additions & 0 deletions bedrock/firefox/redirects.py
Original file line number Diff line number Diff line change
Expand Up @@ -632,4 +632,6 @@ def mobile_app(request, *args, **kwargs):
redirect(r"^firefox/privacy/safe-passwords/?$", "firefox.features.password-manager"),
redirect(r"^firefox/privacy/book/?$", "https://support.mozilla.org/kb/how-stay-safe-web"),
redirect(r"^firefox/nothingpersonal/?$", "firefox.nothing-personal.index"),
# issue 15841
redirect(r"^firefox/tech/?$", "firefox.landing.tech"),
)
57 changes: 57 additions & 0 deletions bedrock/firefox/templates/firefox/landing/tech.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{#
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/new/desktop/download.html" %}

{% block canonical_urls %}<meta name="robots" content="noindex,follow">{% endblock %}

{% set win_custom_download_id = 'partner-firefox-release-smi-smi-001-stub' %}
{% set mac_custom_download_id = 'partner-firefox-release-smi-smi-001-latest' %}

{% set android_campaign_url = play_store_url('firefox', 'custom-001') %}
{% set ios_campaign_url = app_store_url('firefox', 'custom-001') %}

{% block string_data %}
data-win-custom-id="{{ win_custom_download_id }}"
data-mac-custom-id="{{ mac_custom_download_id }}"
{% endblock %}

{% block primary_cta %}
{{ download_firefox(dom_id='download-primary', force_direct=True, download_location='primary cta') }}
{% endblock %}

{% block features_cta %}
{{ download_firefox(dom_id='download-features', force_direct=True, download_location='features cta') }}
{% endblock %}

{% block discover_cta %}
{{ download_firefox(dom_id='download-discover', force_direct=True, download_location='discover cta') }}
{% endblock %}

{% block mobile_primary_cat %}
<div class="show-android">
{{ google_play_button(href=android_campaign_url) }}
</div>
<div class="show-ios">
{{ apple_app_store_button(href=ios_campaign_url) }}
</div>
{% endblock %}

{% block mobile_secondary_cta %}
<ul class="mobile-download-buttons">
<li class="android">
{{ google_play_button(href=android_campaign_url) }}
</li>
<li class="ios">
{{ apple_app_store_button(href=ios_campaign_url) }}
</li>
</ul>
{% endblock %}

{% block js %}
{{ super() }}
{{ js_bundle('firefox_partner_build_download') }}
{% endblock %}
45 changes: 27 additions & 18 deletions bedrock/firefox/templates/firefox/new/desktop/download.html
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,9 @@ <h1 class="mzp-c-wordmark mzp-t-wordmark-md mzp-t-product-firefox">{{ ftl('firef
<h2 class="mzp-has-zap-7">{{ ftl('firefox-desktop-download-get-the-browser') }}</h2>
<p>{{ ftl('firefox-desktop-download-no-shady') }}</p>
<div class="c-intro-download">
{{ download_firefox_thanks(locale_in_transition=True, download_location='primary cta') }}
{% block primary_cta %}
{{ download_firefox_thanks(locale_in_transition=True, download_location='primary cta') }}
{% endblock %}

<div class="c-intro-download-alt"><a href="{{ url('firefox.all') }}">{{ ftl('firefox-desktop-download-download-options') }}</a></div>

Expand Down Expand Up @@ -279,14 +281,16 @@ <h3 class="mzp-u-title-sm">{{ ftl('firefox-desktop-download-for-everyone') }}</h
<h3 class="mzp-u-title-sm">{{ ftl('firefox-desktop-download-all-your-devices') }}</h3>
<p>{{ ftl('firefox-desktop-download-take-your-privacy') }}</p>
<div class="mobile-download-buttons-wrapper">
<ul class="mobile-download-buttons">
<li class="android">
{{ google_play_button() }}
</li>
<li class="ios">
{{ apple_app_store_button(href=ios_url) }}
</li>
</ul>
{% block mobile_secondary_cta %}
<ul class="mobile-download-buttons">
<li class="android">
{{ google_play_button() }}
</li>
<li class="ios">
{{ apple_app_store_button(href=ios_url) }}
</li>
</ul>
{% endblock %}
</div>
</div>
<div class="c-block-media l-v-end l-h-end l-media-constrain-on-sm">
Expand Down Expand Up @@ -384,8 +388,9 @@ <h3 class="mzp-u-title-xs">{{ ftl('firefox-desktop-download-customize-your-brows
</ul>
</div>
</div>
{{ download_firefox_thanks(dom_id='download-features', locale_in_transition=True, download_location='features cta') }}

{% block features_cta %}
{{ download_firefox_thanks(dom_id='download-features', locale_in_transition=True, download_location='features cta') }}
{% endblock %}
</div>
</section>

Expand Down Expand Up @@ -545,7 +550,9 @@ <h3 class="mzp-u-title-xs">{{ ftl('firefox-desktop-download-picture-in-picture')
<p>{{ ftl('firefox-desktop-download-from-watching-a') }}</p>
</div>
</div>
{{ download_firefox_thanks(dom_id='download-discover', locale_in_transition=True, download_location='discover cta') }}
{% block discover_cta %}
{{ download_firefox_thanks(dom_id='download-discover', locale_in_transition=True, download_location='discover cta') }}
{% endblock %}
</section>

<section class="c-support">
Expand All @@ -563,12 +570,14 @@ <h2 class="mzp-has-zap-7 mzp-u-title-md show-ios">{{ ftl('firefox-desktop-downlo

<p>{{ ftl('firefox-desktop-download-download-the-mobile') }}</p>

<div class="show-android">
{{ google_play_button() }}
</div>
<div class="show-ios">
{{ apple_app_store_button(href=ios_url) }}
</div>
{% block mobile_primary_cat %}
<div class="show-android">
{{ google_play_button() }}
</div>
<div class="show-ios">
{{ apple_app_store_button(href=ios_url) }}
</div>
{% endblock %}
</div>
</div>
</div>
Expand Down
2 changes: 2 additions & 0 deletions bedrock/firefox/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,8 @@
"firefox/firefox-20th/index.html",
active_locales=["de", "fr", "en-US", "en-CA", "en-GB"],
),
# Issue 15841 - UK influencer campaign
page("firefox/landing/tech/", "firefox/landing/tech.html", ftl_files="firefox/new/desktop", active_locales="en-GB"),
)

# Contentful
Expand Down
1 change: 1 addition & 0 deletions bedrock/settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -504,6 +504,7 @@ def language_url_map_with_fallbacks():
r"^firefox/this-browser-comes-highly-recommended/",
r"^firefox/nightly/notes/feed/$",
r"^firefox.*/all/$",
r"^firefox/landing/",
r"^.+/(firstrun|whatsnew)/$",
r"^m/",
r"^newsletter/(confirm|existing|hacks\.mozilla\.org|recovery|updated|fxa-error)/",
Expand Down
9 changes: 9 additions & 0 deletions media/js/firefox/landing/partner-build-download-init.es6.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/*
* 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 PartnerBuildDownload from './partner-build-download.es6';

PartnerBuildDownload.init();
54 changes: 54 additions & 0 deletions media/js/firefox/landing/partner-build-download.es6.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/*
* 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/.
*/

const PartnerBuildDownload = {};

let winDownloadID;
let macDownloadID;

PartnerBuildDownload.createCustomDownloadURL = (link, id) => {
const url = new URL(link.href);

// update product to custom build ID.
url.searchParams.set('product', id);

// temporarily set bouncer hostname to dev.
url.hostname = 'dev.bouncer.nonprod.webservices.mozgcp.net';

link.href = url;
};

PartnerBuildDownload.replaceWithCustomDownloadLinks = () => {
const downloadLinksWin = Array.from(
document.querySelectorAll(
'.download-button .download-list .download-link[data-download-version="win"]'
)
);
const downloadLinksMac = Array.from(
document.querySelectorAll(
'.download-button .download-list .download-link[data-download-version="osx"]'
)
);

downloadLinksWin.forEach((link) =>
PartnerBuildDownload.createCustomDownloadURL(link, winDownloadID)
);
downloadLinksMac.forEach((link) =>
PartnerBuildDownload.createCustomDownloadURL(link, macDownloadID)
);
};

PartnerBuildDownload.init = () => {
const strings = document.getElementById('strings');
winDownloadID = strings.getAttribute('data-win-custom-id');
macDownloadID = strings.getAttribute('data-mac-custom-id');

if (typeof window.URL === 'function' && winDownloadID && macDownloadID) {
PartnerBuildDownload.replaceWithCustomDownloadLinks();
}
};

export default PartnerBuildDownload;
6 changes: 6 additions & 0 deletions media/static-bundles.json
Original file line number Diff line number Diff line change
Expand Up @@ -1776,6 +1776,12 @@
"js/base/banners/fundraiser-experiment.es6.js"
],
"name": "fundraising-banner-experiment"
},
{
"files": [
"js/firefox/landing/partner-build-download-init.es6.js"
],
"name": "firefox_partner_build_download"
}
]
}
2 changes: 2 additions & 0 deletions tests/redirects/map_globalconf.py
Original file line number Diff line number Diff line change
Expand Up @@ -1328,5 +1328,7 @@
),
# Issue 15386
url_test("/products/vpn/resource-center/no-Logging-vpn-from-mozilla/", "/products/vpn/resource-center/no-logging-vpn-from-mozilla/"),
# Issue 15841
url_test("/firefox/tech/", "/firefox/landing/tech/"),
)
)
Loading

0 comments on commit 114542d

Please sign in to comment.