Skip to content

Commit

Permalink
Merge branch 'main' into landing-page-qa
Browse files Browse the repository at this point in the history
  • Loading branch information
flozia authored Jan 29, 2025
2 parents db39075 + b374f38 commit f70f340
Show file tree
Hide file tree
Showing 30 changed files with 1,179 additions and 429 deletions.
4 changes: 4 additions & 0 deletions .storybook/preview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,10 @@ const preview: Preview = {
linkTo("Pages/Public/Breach listing")();
}

if (path === "/terms/expiration-offer") {
linkTo("Pages/Public/Terms/Plus expiration offer")();
}

if (path === "/user/dashboard") {
linkTo(
"Pages/Logged in/Dashboard",
Expand Down
5 changes: 5 additions & 0 deletions jest.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,11 @@ const customJestConfig = {

// A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
moduleNameMapper: {
// react-dom/server.edge is apparently needed instead of react-dom/server
// to avoid this error:
// > Uncaught ReferenceError: MessageChannel is not defined
// See https://github.com/facebook/react/issues/31827#issuecomment-2563094822
"react-dom/server": "react-dom/server.edge",
// Force module uuid to resolve with the CJS entry point, because Jest does not support package.json.exports. See https://github.com/uuidjs/uuid/issues/451
uuid: require.resolve("uuid"),
},
Expand Down
16 changes: 0 additions & 16 deletions jest.setup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,22 +40,6 @@ global.IntersectionObserver = jest.fn();
defaultFallbackInView(false);
beforeEach(() => {
setupIntersectionMocking(jest.fn);

// react-dom/server.edge is apparently needed instead of react-dom/server
// to avoid this error:
// > Uncaught ReferenceError: MessageChannel is not defined
// See https://github.com/jsdom/jsdom/issues/2448#issuecomment-1581009331
window.MessageChannel = jest.fn().mockImplementation(() => {
return {
port1: {
postMessage: jest.fn(),
},
port2: {
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
},
};
});
});
afterEach(() => {
resetIntersectionMocking();
Expand Down
11 changes: 0 additions & 11 deletions locales-pending/emails-all.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,6 @@ email-footer-reason-subscriber-one-time = You’ve received this one-time automa
## Monthly overview email

email-monthly-plus-auto-subject = Your monthly { -brand-monitor } report
email-monthly-plus-auto-preview = See how we’ve protected your personal information.
email-monthly-plus-auto-intro-content = As a { -brand-monitor-plus } subscriber, you have our highest level of protection. We remove your personal info from data broker sites — no matter how many times they re-add you. We also help you resolve data breaches that require manual action. Here’s what we fixed:
email-monthly-plus-auto-cta-label = View all activity
# Accompanies a number that indicates how many data broker exposures the user fixed themselves
email-monthly-plus-auto-fixed-section-manual-heading = Manually fixed
# Accompanies a number that indicates how many data broker exposures we're still fixing
email-monthly-plus-auto-fixed-section-in-progress-heading = Removals in progress
# Accompanies a number that indicates how many data broker exposures we've already fixed
email-monthly-plus-auto-fixed-section-done-heading = Auto-removed
email-monthly-free-subject = Your monthly { -brand-monitor } report
email-monthly-free-preview = See what was fixed this month and what needs your attention.
email-monthly-free-intro-content = We constantly monitor for new exposures of your personal info. Sign in to see what exposures need you to take action, and what’s already been fixed.
Expand Down
39 changes: 39 additions & 0 deletions locales-pending/emails-plus.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# 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/.

# Strings in this file are not yet final, and thus should not be localised yet.

## Monthly overview email

email-monthly-plus-auto-subject = Your monthly { -brand-monitor } report
email-monthly-plus-auto-preview = See how we’ve protected your personal information.
email-monthly-plus-auto-intro-content = As a { -brand-monitor-plus } subscriber, you have our highest level of protection. We remove your personal info from data broker sites — no matter how many times they re-add you. We also help you resolve data breaches that require manual action. Here’s what we fixed:
email-monthly-plus-auto-cta-label = View all activity
# Accompanies a number that indicates how many data broker exposures the user fixed themselves
email-monthly-plus-auto-fixed-section-manual-heading = Manually fixed
# Accompanies a number that indicates how many data broker exposures we're still fixing
email-monthly-plus-auto-fixed-section-in-progress-heading = Removals in progress
# Accompanies a number that indicates how many data broker exposures we've already fixed
email-monthly-plus-auto-fixed-section-done-heading = Auto-removed
## Upcoming expiration email

email-plus-expiration-subject = Your { -brand-monitor-plus } subscription is expiring
email-plus-expiration-preview = Renew to continue your access to data breach and broker alerts
email-plus-expiration-heading = Your subscription expires soon
# Variables:
# $end_date (string) - The localised date the subscription will expire, e.g. "April 2, 1337".
email-plus-expiration-body-part1 = Your { -brand-monitor-plus } subscription ends on { $end_date }. After that, you won’t be able to use { -brand-monitor-plus } for data breach and broker alerts that keep your information safe.
# Variables:
# $end_date (string) - The localised date the subscription will expire, e.g. "April 2, 1337".
email-plus-expiration-body-part2-styled = To keep your access, sign in and <renewal-link>renew your subscription</renewal-link> before <b>{ $end_date }</b>. If you need help, <support-link>contact our Support team</support-link>.
# Variables:
# $end_date (string) - The localised date the subscription will expire, e.g. "April 2, 1337".
# $support_link (string) - URL of the support site, e.g. "https://support.mozilla.org".
email-plus-expiration-body-plain = Your subscription to { -brand-mozilla-monitor-plus } will end on { $end_date }. After this date, you will lose access to { -brand-monitor-plus }. If you’d like to continue enjoying { -brand-monitor-plus }, you can reactivate your subscription anytime in your Account Settings before { $end_date }. If you need assistance, our support team is here for you anytime at https://support.mozilla.org.
email-plus-expiration-signoff = Thanks for being a part of { -brand-monitor },
email-plus-expiration-sender = The { -brand-mozilla } team
email-plus-expiration-trailer-button = Renew and save 10%
email-plus-expiration-trailer-terms = Limited terms and restrictions apply
38 changes: 38 additions & 0 deletions locales-pending/plus-expiration.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# 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/.

plus-expiration-header-logo-alt = { -brand-mozilla-monitor }
plus-expiration-intro-heading = Renew your subscription and <b>get 10% off</b>
plus-expiration-intro-content = Stay protected with data breach alerts and info removals – renew your subscription today.
plus-expiration-intro-cta-label = Renew subscription
plus-expiration-intro-terms = Limited terms and restrictions apply
plus-expiration-intro-generic-error = Couldn’t renew subscription. <retry-button>Try again</retry-button>
plus-expiration-intro-generic-error-dismiss = Dismiss
plus-expiration-confirm-heading = Thanks for renewing your subscription
plus-expiration-confirm-content = Go to your dashboard to see the latest on how we’re protecting your data.
plus-expiration-confirm-cta-label = Go to { -brand-monitor }
plus-expiration-confirm-manage-button = Manage subscription
plus-expiration-error-not-expired-heading = Your { -brand-monitor-plus } subscription is still active
plus-expiration-error-not-expired-content = Go to your dashboard to see the latest on how we’re protecting your data.
plus-expiration-error-not-expired-cta-label = Go to { -brand-monitor }
plus-expiration-error-free-heading = Discount valid for current { -brand-monitor-plus } customers
plus-expiration-error-free-content = Subscribe to { -brand-monitor-plus } to get protected with data breach alerts and info removals.
plus-expiration-error-free-cta-label = Subscribe to { -brand-monitor-plus }
plus-expiration-error-already-applied-heading = Discount code already applied
plus-expiration-error-already-applied-content-part1 = Looks like this discount code was used for a subscription to this account.
plus-expiration-error-already-applied-content-part2 = <support-link>Contact our Support team</support-link> for help or head to your dashboard to see the latest on how we’re protecting your data.
plus-expiration-error-already-applied-cta-label = Go to { -brand-monitor }
plus-expiration-terms-heading = Terms and restrictions
plus-expiration-terms-subheading = 10% off subscription renewal
plus-expiration-terms-term1 = 10% off discount applies only to annual plans set to auto-renew.
plus-expiration-terms-term2 = Discount expires on the last day of your current subscription.
plus-expiration-terms-term3 = Discount only valid for current, unexpired { -brand-monitor-plus } subscriptions that do not have auto-renew turned on.
plus-expiration-terms-term4 = Discount not valid on new { -brand-monitor-plus } subscriptions.
plus-expiration-terms-term5 = Discount can only be redeemed once per user, per account.
plus-expiration-terms-term6 = Prices for annual { -brand-monitor-plus } subscriptions are subject to change. To see current pricing, <monitor-link>go to { -brand-monitor }’s website</monitor-link>.
Loading

0 comments on commit f70f340

Please sign in to comment.