diff --git a/src/Core/AdminConsole/Models/Mail/Mailer/OrganizationConfirmation/OrganizationConfirmationEnterpriseTeamsView.html.hbs b/src/Core/AdminConsole/Models/Mail/Mailer/OrganizationConfirmation/OrganizationConfirmationEnterpriseTeamsView.html.hbs index 837f1b2081..67788eeb4c 100644 --- a/src/Core/AdminConsole/Models/Mail/Mailer/OrganizationConfirmation/OrganizationConfirmationEnterpriseTeamsView.html.hbs +++ b/src/Core/AdminConsole/Models/Mail/Mailer/OrganizationConfirmation/OrganizationConfirmationEnterpriseTeamsView.html.hbs @@ -279,7 +279,7 @@ -
As a member of {{OrganizationName}}:
+
As a member of {{ OrganizationName }}:
@@ -756,14 +756,15 @@

- © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, Santa - Barbara, CA, USA + © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, + Santa Barbara, CA, USA

Always confirm you are on a trusted Bitwarden domain before logging in:
- bitwarden.com | - Learn why we include this + bitwarden.com + | + Learn why we include this

diff --git a/src/Core/AdminConsole/Models/Mail/Mailer/OrganizationConfirmation/OrganizationConfirmationFamilyFreeView.html.hbs b/src/Core/AdminConsole/Models/Mail/Mailer/OrganizationConfirmation/OrganizationConfirmationFamilyFreeView.html.hbs index e53af9eebe..3e5e2554ed 100644 --- a/src/Core/AdminConsole/Models/Mail/Mailer/OrganizationConfirmation/OrganizationConfirmationFamilyFreeView.html.hbs +++ b/src/Core/AdminConsole/Models/Mail/Mailer/OrganizationConfirmation/OrganizationConfirmationFamilyFreeView.html.hbs @@ -103,8 +103,10 @@ border-radius: 3px; } @media only screen and (max-width: 480px) { - .hide-mobile { display: none !important; } + .hide-mobile { + display: none !important; } + } @@ -287,7 +289,7 @@ -
As a member of {{OrganizationName}}:
+
As a member of {{ OrganizationName }}:
@@ -513,11 +515,12 @@ -
Already using the browser extension? - Download the Bitwarden mobile app from the - App Store - or Google Play - to quickly save logins and autofill forms on the go.
+
Already using the + browser extension? Download the Bitwarden mobile app from the + App Store + or + Google Play + to quickly save logins and autofill forms on the go.
@@ -928,14 +931,15 @@

- © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, Santa - Barbara, CA, USA + © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, + Santa Barbara, CA, USA

Always confirm you are on a trusted Bitwarden domain before logging in:
- bitwarden.com | - Learn why we include this + bitwarden.com + | + Learn why we include this

diff --git a/src/Core/Auth/UserFeatures/EmergencyAccess/Mail/EmergencyAccessRemoveGranteesMailView.html.hbs b/src/Core/Auth/UserFeatures/EmergencyAccess/Mail/EmergencyAccessRemoveGranteesMailView.html.hbs index 3512d2526e..27ede164fa 100644 --- a/src/Core/Auth/UserFeatures/EmergencyAccess/Mail/EmergencyAccessRemoveGranteesMailView.html.hbs +++ b/src/Core/Auth/UserFeatures/EmergencyAccess/Mail/EmergencyAccessRemoveGranteesMailView.html.hbs @@ -29,8 +29,8 @@ .mj-outlook-group-fix { width:100% !important; } - - + + - - - - + + + + - + - + - - + +
- + - - + +
- +
- +
- - + + - - + +
- +
- +
- + - + - + - +
- +
- + - +
- +
- +

- +

- +
- +
- + - +
- + - + - +
- +
- + - +
- +
- +
- +
- +
- - + + - - + +
- +
- +
- - + + - + - + - - + +
- +
- - + +
- +
- +
- + - + - +
- -
The following emergency contacts have been removed from your account: -
    - {{#each RemovedGranteeEmails}} -
  • {{this}}
  • - {{/each}} -
- Learn more about emergency access.
- + +
The following emergency contacts have been removed from your + account: +
    + {{#each RemovedGranteeEmails}} +
  • {{ this }}
  • + {{/each}} +
+ Learn more about + emergency access.
+
- +
- +
- +
- - + +
- +
- - + + - + - + - - + +
- +
- +
- + - + - + - +
- - + + - + - + - +
@@ -309,15 +311,15 @@
- + - + - +
@@ -332,15 +334,15 @@
- + - + - +
@@ -355,15 +357,15 @@
- + - + - +
@@ -378,15 +380,15 @@
- + - + - +
@@ -401,15 +403,15 @@
- + - + - +
@@ -424,15 +426,15 @@
- + - + - +
@@ -447,52 +449,54 @@
- - + +
- +

- © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, Santa - Barbara, CA, USA + © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, + Santa Barbara, CA, USA

Always confirm you are on a trusted Bitwarden domain before logging in:
- bitwarden.com | - Learn why we include this + bitwarden.com + | + Learn why we include this

- +
- +
- +
- +
- - + + - - + +
- + + \ No newline at end of file diff --git a/src/Core/MailTemplates/Handlebars/Auth/SendAccessEmailOtpEmail.html.hbs b/src/Core/MailTemplates/Handlebars/Auth/SendAccessEmailOtpEmail.html.hbs index ec18f04af3..056f22c65e 100644 --- a/src/Core/MailTemplates/Handlebars/Auth/SendAccessEmailOtpEmail.html.hbs +++ b/src/Core/MailTemplates/Handlebars/Auth/SendAccessEmailOtpEmail.html.hbs @@ -260,7 +260,7 @@ -
{{Token}}
+
{{ Token }}
@@ -276,7 +276,7 @@ -
This code expires in {{Expiry}} minutes. After that, you'll need +
This code expires in {{ Expiry }} minutes. After that, you'll need to verify your email again.
@@ -325,9 +325,9 @@ -

- Bitwarden Send transmits sensitive, temporary information to - others easily and securely. Learn more about +

+ Bitwarden Send securely shares sensitive information. Learn more + about Bitwarden Send or sign up @@ -386,8 +386,8 @@ - diff --git a/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-family-user.html.hbs b/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-family-user.html.hbs index 4daebc6bbd..4b0011d1e7 100644 --- a/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-family-user.html.hbs +++ b/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-family-user.html.hbs @@ -269,7 +269,7 @@ @@ -201,8 +202,10 @@ @@ -211,7 +214,7 @@ @@ -278,8 +281,8 @@
- + +
@@ -397,7 +397,7 @@
-

+

Learn more about Bitwarden

Find user guides, product documentation, and videos on the @@ -411,7 +411,7 @@
- +
@@ -654,14 +654,15 @@

- © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, Santa - Barbara, CA, USA + © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, + Santa Barbara, CA, USA

Always confirm you are on a trusted Bitwarden domain before logging in:
- bitwarden.com | - Learn why we include this + bitwarden.com + | + Learn why we include this

-
An administrator from {{OrganizationName}} will approve you +
An administrator from {{ OrganizationName }} will approve you before you can share passwords. While you wait for approval, get started with Bitwarden Password Manager:
@@ -599,8 +599,8 @@ - diff --git a/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-individual-user.html.hbs b/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-individual-user.html.hbs index 8a2cc4d9c7..7a201a257d 100644 --- a/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-individual-user.html.hbs +++ b/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-individual-user.html.hbs @@ -598,8 +598,8 @@
- + +
@@ -610,7 +610,7 @@
-

+

Learn more about Bitwarden

Find user guides, product documentation, and videos on the @@ -624,7 +624,7 @@
- +
@@ -867,14 +867,15 @@

- © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, Santa - Barbara, CA, USA + © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, + Santa Barbara, CA, USA

Always confirm you are on a trusted Bitwarden domain before logging in:
- bitwarden.com | - Learn why we include this + bitwarden.com + | + Learn why we include this

- diff --git a/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-org-user.html.hbs b/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-org-user.html.hbs index 8d65da4188..f9ffd4816e 100644 --- a/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-org-user.html.hbs +++ b/src/Core/MailTemplates/Handlebars/MJML/Auth/Onboarding/welcome-org-user.html.hbs @@ -269,9 +269,9 @@ @@ -599,8 +599,8 @@
- + +
@@ -609,7 +609,7 @@
-

+

Learn more about Bitwarden

Find user guides, product documentation, and videos on the @@ -623,7 +623,7 @@
- +
@@ -866,14 +866,15 @@

- © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, Santa - Barbara, CA, USA + © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, + Santa Barbara, CA, USA

Always confirm you are on a trusted Bitwarden domain before logging in:
- bitwarden.com | - Learn why we include this + bitwarden.com + | + Learn why we include this

-
An administrator from {{OrganizationName}} will need to confirm - you before you can share passwords. Get started with Bitwarden - Password Manager:
+
An administrator from {{ OrganizationName }} will need to + confirm you before you can share passwords. Get started with + Bitwarden Password Manager:
- diff --git a/src/Core/MailTemplates/Mjml/README.md b/src/Core/MailTemplates/Mjml/README.md index fabb393ee0..06a117c350 100644 --- a/src/Core/MailTemplates/Mjml/README.md +++ b/src/Core/MailTemplates/Mjml/README.md @@ -53,7 +53,7 @@ Not all `MJML` tags have the same attributes, it is highly recommended to review ### Testing the mail template with `IMailer` -After the email is developed in the [initial step](#developing-the-mail-template), we need to make sure that the email `{{variables}}` are populated properly by Handlebars. We can do this by running it through an `IMailer` implementation. The `IMailer`, documented [here](../../Platform/Mail/README.md#step-3-create-handlebars-templates), requires that the ViewModel, the `.html.hbs` `MJML` build artifact, and `.text.hbs` files be in the same directory. +After the email is developed in the [initial step](#developing-the-mail-template), we need to make sure that the email `{{variables}}` are populated properly by Handlebars. We can do this by running it through an `IMailer` implementation. The `IMailer`, documented [here](../../Platform/Mail/README.md#step-3-create-handlebars-templates), requires that the ViewModel, the `.html.hbs` `MJML` build artifact, and `.text.hbs` files be in the same directory. 1. Run `npm run build:hbs`. 2. Copy built `*.html.hbs` files from the build directory to the directory that the `IMailer` expects. All files in the `Core/MailTemplates/Mjml/out` directory should be copied to the `/src/Core/MailTemplates/Mjml` directory, ensuring that the files are in the same directory as the corresponding ViewModels. If a shared component is modified it is important to copy and overwrite all files in that directory to capture changes in the `*.html.hbs` files. @@ -70,7 +70,7 @@ After the email is developed from the [initial step](#developing-the-mail-templa 1. Run `npm run build:hbs` 2. Copy built `*.html.hbs` files from the build directory to a location the mail service can consume them. - 1. All files in the `Core/MailTemplates/Mjml/out` directory should be copied to the `src/Core/MailTemplates/Handlebars/MJML` directory. If a shared component is modified it is important to copy and overwrite all files in that directory to capture changes in the `*.html.hbs`. + - All files in the `Core/MailTemplates/Mjml/out` directory should be copied to the `src/Core/MailTemplates/Handlebars/MJML` directory. If a shared component is modified it is important to copy and overwrite all files in that directory to capture changes in the `*.html.hbs`. 3. Run code that will send the email. The minified `html.hbs` artifacts are deliverables and must be placed into the correct `src/Core/MailTemplates/Handlebars/` directories in order to be used by `IMailService` implementations, see 2.1 above. @@ -80,6 +80,7 @@ The minified `html.hbs` artifacts are deliverables and must be placed into the c There is currently a `mj-bw-hero` tag you can use within your `*.mjml` templates. This is a good example of how to create a component that takes in attribute values allowing us to be more DRY in our development of emails. Since the attribute's input is a string we are able to define whatever we need into the component, in this case `mj-bw-hero`. In order to view the custom component you have written you will need to include it in the `.mjmlconfig` and reference it in a `.mjml` template file. + ```html

- © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, Santa - Barbara, CA, USA + © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, + Santa Barbara, CA, USA

Always confirm you are on a trusted Bitwarden domain before logging in:
- bitwarden.com | - Learn why we include this + bitwarden.com + | + Learn why we include this

diff --git a/src/Core/MailTemplates/Mjml/components/mj-bw-hero.js b/src/Core/MailTemplates/Mjml/components/mj-bw-hero.js index c7a3b7e7ff..f0a6bae1ec 100644 --- a/src/Core/MailTemplates/Mjml/components/mj-bw-hero.js +++ b/src/Core/MailTemplates/Mjml/components/mj-bw-hero.js @@ -18,19 +18,20 @@ class MjBwHero extends BodyComponent { static defaultAttributes = {}; - componentHeadStyle = breakpoint => { + componentHeadStyle = (breakpoint) => { return ` @media only screen and (max-width:${breakpoint}) { .mj-bw-hero-responsive-img { display: none !important; } } - ` - } + `; + }; render() { - const buttonElement = this.getAttribute("button-text") && this.getAttribute("button-url") ? - ` ${this.getAttribute("button-text")} ` : ""; - const subTitleElement = this.getAttribute("sub-title") ? - ` + >` + : ""; + const subTitleElement = this.getAttribute("sub-title") + ? `

${this.getAttribute("sub-title")}

-
` : ""; +
` + : ""; return this.renderMJML( ` diff --git a/src/Core/MailTemplates/Mjml/components/mj-bw-icon-row.js b/src/Core/MailTemplates/Mjml/components/mj-bw-icon-row.js index d0ccde5513..2b45ccc582 100644 --- a/src/Core/MailTemplates/Mjml/components/mj-bw-icon-row.js +++ b/src/Core/MailTemplates/Mjml/components/mj-bw-icon-row.js @@ -26,7 +26,7 @@ class MjBwIconRow extends BodyComponent { static defaultAttributes = {}; - headStyle = (breakpoint) => { + headStyle = (breakpoint) => { return ` @media only screen and (max-width:${breakpoint}) { .mj-bw-icon-row-text { diff --git a/src/Core/MailTemplates/Mjml/components/mj-bw-learn-more-footer.js b/src/Core/MailTemplates/Mjml/components/mj-bw-learn-more-footer.js index fb8b5b69dd..9c50a068b2 100644 --- a/src/Core/MailTemplates/Mjml/components/mj-bw-learn-more-footer.js +++ b/src/Core/MailTemplates/Mjml/components/mj-bw-learn-more-footer.js @@ -25,10 +25,10 @@ class MjBwLearnMoreFooter extends BodyComponent { render() { return this.renderMJML( ` - + -

+

Learn more about Bitwarden

Find user guides, product documentation, and videos on the diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationConfirmation/organization-confirmation-enterprise-teams.mjml b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationConfirmation/organization-confirmation-enterprise-teams.mjml index 7f7b6d4777..7f11911f41 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationConfirmation/organization-confirmation-enterprise-teams.mjml +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationConfirmation/organization-confirmation-enterprise-teams.mjml @@ -1,51 +1,54 @@ - - - + + + + + + + + + - + + + + + + As a member of {{ OrganizationName }}: + + + + + + - - - - - + + + + - - - - - - As a member of {{OrganizationName}}: - - - - - - - - - - - - - - - + + + diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationConfirmation/organization-confirmation-family-free.mjml b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationConfirmation/organization-confirmation-family-free.mjml index 73b58cdaa9..85f90a99dd 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationConfirmation/organization-confirmation-family-free.mjml +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationConfirmation/organization-confirmation-family-free.mjml @@ -1,104 +1,123 @@ - - - + + + - - + + - - - - - - + + + + + + - - - - - - As a member of {{OrganizationName}}: - - - - - - - - + + + + + + As a member of {{ OrganizationName }}: + + + + + + + + - - - - - - Download Bitwarden on all devices - + + + + + + Download Bitwarden on all devices + - - Already using the browser extension? - Download the Bitwarden mobile app from the - App Store - or Google Play - to quickly save logins and autofill forms on the go. - - - + + Already using the + browser extension? Download the Bitwarden mobile app from the + App Store + or + Google Play + to quickly save logins and autofill forms on the go. + + + - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - + + + diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-enterprise-teams-existing-user.mjml b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-enterprise-teams-existing-user.mjml index 26dd97f693..4d4de48cc8 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-enterprise-teams-existing-user.mjml +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-enterprise-teams-existing-user.mjml @@ -18,8 +18,14 @@ - - {{OrganizationName}} is rolling out Bitwarden to increase security and protect your sensitive data. Once you accept this invitation, you can: + + {{ OrganizationName }} is rolling out Bitwarden to increase + security and protect your sensitive data. Once you accept this + invitation, you can: @@ -40,11 +46,22 @@ /> - + {{#if InviterEmail}} - This invitation was sent by {{InviterEmail}} and expires {{ExpirationDate}} + This invitation was sent by + {{ InviterEmail }} + and expires {{ ExpirationDate }} {{else}} - This invitation expires {{ExpirationDate}} + This invitation expires {{ ExpirationDate }} {{/if}} @@ -55,11 +72,23 @@ - - Your existing account will be owned by {{OrganizationName}} + + Your existing account will be owned by {{ OrganizationName }} - - By accepting this invitation, your account ({{Email}}) will be owned by {{OrganizationName}} and will be subject to their security and management policies. Contact your administrator with any questions or concerns. + + By accepting this invitation, your account ({{ Email }}) will be + owned by {{ OrganizationName }} and will be subject to their + security and management policies. Contact your administrator with + any questions or concerns. diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-enterprise-teams-new-user.mjml b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-enterprise-teams-new-user.mjml index cc9719d992..bb2de38987 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-enterprise-teams-new-user.mjml +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-enterprise-teams-new-user.mjml @@ -18,8 +18,14 @@ - - {{OrganizationName}} is rolling out Bitwarden to increase security and protect your sensitive data. Once you finish account setup, you can: + + {{ OrganizationName }} is rolling out Bitwarden to increase + security and protect your sensitive data. Once you finish account + setup, you can: @@ -40,11 +46,22 @@ /> - + {{#if InviterEmail}} - This invitation was sent by {{InviterEmail}} and expires {{ExpirationDate}} + This invitation was sent by + {{ InviterEmail }} + and expires {{ ExpirationDate }} {{else}} - This invitation expires {{ExpirationDate}} + This invitation expires {{ ExpirationDate }} {{/if}} diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-families-existing-user.mjml b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-families-existing-user.mjml index 581fc62e79..6e7cca44c5 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-families-existing-user.mjml +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-families-existing-user.mjml @@ -18,8 +18,14 @@ - - {{OrganizationName}} is using Bitwarden to simplify password sharing and protect your sensitive data. Once you accept this invitation, you can: + + {{ OrganizationName }} is using Bitwarden to simplify + password sharing and protect your sensitive data. Once you accept + this invitation, you can: @@ -40,11 +46,22 @@ /> - + {{#if InviterEmail}} - This invitation was sent by {{InviterEmail}} and expires {{ExpirationDate}} + This invitation was sent by + {{ InviterEmail }} + and expires {{ ExpirationDate }} {{else}} - This invitation expires {{ExpirationDate}} + This invitation expires {{ ExpirationDate }} {{/if}} diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-families-new-user.mjml b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-families-new-user.mjml index 80110e1d0e..9575401531 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-families-new-user.mjml +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-families-new-user.mjml @@ -18,8 +18,14 @@ - - {{OrganizationName}} is using Bitwarden to simplify password sharing and protect your sensitive data. Once you finish account setup, you can: + + {{ OrganizationName }} is using Bitwarden to simplify + password sharing and protect your sensitive data. Once you finish + account setup, you can: @@ -40,11 +46,22 @@ /> - + {{#if InviterEmail}} - This invitation was sent by {{InviterEmail}} and expires {{ExpirationDate}} + This invitation was sent by + {{ InviterEmail }} + and expires {{ ExpirationDate }} {{else}} - This invitation expires {{ExpirationDate}} + This invitation expires {{ ExpirationDate }} {{/if}} diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-free.mjml b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-free.mjml index 35ac5f17c0..ed74c672b3 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-free.mjml +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/OrganizationInvite/organization-invite-free.mjml @@ -18,8 +18,14 @@ - - Bitwarden is a password manager used to simplify password sharing and protect your sensitive data. Once you accept this invitation, you can: + + Bitwarden is a password manager used to simplify password sharing + and protect your sensitive data. Once you accept this invitation, + you can: @@ -40,11 +46,22 @@ /> - + {{#if InviterEmail}} - This invitation was sent by {{InviterEmail}} and expires {{ExpirationDate}} + This invitation was sent by + {{ InviterEmail }} + and expires {{ ExpirationDate }} {{else}} - This invitation expires {{ExpirationDate}} + This invitation expires {{ ExpirationDate }} {{/if}} diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/admin-console-head.mjml b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/admin-console-head.mjml index 2b70f5718c..a9829adb92 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/admin-console-head.mjml +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/admin-console-head.mjml @@ -1,17 +1,17 @@ - - - + + - @media only screen and (max-width: 480px) { - .hide-mobile { display: none !important; } + @media only screen and (max-width: 480px) { + .hide-mobile { + display: none !important; } + } diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-hero.js b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-hero.js index a8c5158982..8855325e1b 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-hero.js +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-hero.js @@ -18,19 +18,20 @@ class MjBwAcHero extends BodyComponent { static defaultAttributes = {}; - componentHeadStyle = breakpoint => { + componentHeadStyle = (breakpoint) => { return ` @media only screen and (max-width:${breakpoint}) { .mj-bw-ac-hero-responsive-img { display: none !important; } } - ` - } + `; + }; render() { - const buttonElement = this.getAttribute("button-text") && this.getAttribute("button-url") ? - ` ${this.getAttribute("button-text")} ` : ""; - const subTitleElement = this.getAttribute("sub-title") ? - ` + >` + : ""; + const subTitleElement = this.getAttribute("sub-title") + ? `

${this.getAttribute("sub-title")}

-
` : ""; +
` + : ""; return this.renderMJML( ` @@ -89,4 +92,4 @@ class MjBwAcHero extends BodyComponent { } } -module.exports = MjBwAcHero; \ No newline at end of file +module.exports = MjBwAcHero; diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-icon-row-without-bulletins.js b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-icon-row-without-bulletins.js index 26e1340a72..e8b33e4f97 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-icon-row-without-bulletins.js +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-icon-row-without-bulletins.js @@ -8,26 +8,26 @@ const BODY_TEXT_STYLES = ` `; class MjBwAcIconRowWithoutBulletins extends BodyComponent { - static dependencies = { - "mj-column": ["mj-bw-ac-icon-row-without-bulletins"], - "mj-wrapper": ["mj-bw-ac-icon-row-without-bulletins"], - "mj-bw-ac-icon-row-without-bulletins": [], - }; + static dependencies = { + "mj-column": ["mj-bw-ac-icon-row-without-bulletins"], + "mj-wrapper": ["mj-bw-ac-icon-row-without-bulletins"], + "mj-bw-ac-icon-row-without-bulletins": [], + }; - static allowedAttributes = { - "icon-src": "string", - "icon-alt": "string", - "head-url-text": "string", - "head-url": "string", - text: "string", - "foot-url-text": "string", - "foot-url": "string", - }; + static allowedAttributes = { + "icon-src": "string", + "icon-alt": "string", + "head-url-text": "string", + "head-url": "string", + text: "string", + "foot-url-text": "string", + "foot-url": "string", + }; - static defaultAttributes = {}; + static defaultAttributes = {}; - headStyle = (breakpoint) => { - return ` + headStyle = (breakpoint) => { + return ` @media only screen and (max-width:${breakpoint}) { .mj-bw-ac-icon-row-text { padding-left: 15px !important; @@ -44,12 +44,12 @@ class MjBwAcIconRowWithoutBulletins extends BodyComponent { } } `; - }; + }; - render() { - const headAnchorElement = - this.getAttribute("head-url-text") && this.getAttribute("head-url") - ? ` + render() { + const headAnchorElement = + this.getAttribute("head-url-text") && this.getAttribute("head-url") + ? ` ${this.getAttribute("head-url-text")} @@ -62,19 +62,19 @@ class MjBwAcIconRowWithoutBulletins extends BodyComponent { ` - : ""; + : ""; - const footAnchorElement = - this.getAttribute("foot-url-text") && this.getAttribute("foot-url") - ? ` + const footAnchorElement = + this.getAttribute("foot-url-text") && this.getAttribute("foot-url") + ? ` ${this.getAttribute("foot-url-text")} ` - : ""; + : ""; - return this.renderMJML( - ` + return this.renderMJML( + ` @@ -96,8 +96,8 @@ class MjBwAcIconRowWithoutBulletins extends BodyComponent { `, - ); - } + ); + } } module.exports = MjBwAcIconRowWithoutBulletins; diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-icon-row.js b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-icon-row.js index 0ed62916c4..5f684f58f2 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-icon-row.js +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-icon-row.js @@ -26,7 +26,7 @@ class MjBwAcIconRow extends BodyComponent { static defaultAttributes = {}; - headStyle = (breakpoint) => { + headStyle = (breakpoint) => { return ` @media only screen and (max-width:${breakpoint}) { .mj-bw-ac-icon-row-text { @@ -107,4 +107,4 @@ class MjBwAcIconRow extends BodyComponent { } } -module.exports = MjBwAcIconRow; \ No newline at end of file +module.exports = MjBwAcIconRow; diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-learn-more-footer.js b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-learn-more-footer.js index 273328804a..b9c7025dbf 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-learn-more-footer.js +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-ac-learn-more-footer.js @@ -52,4 +52,4 @@ class MjBwAcLearnMoreFooter extends BodyComponent { } } -module.exports = MjBwAcLearnMoreFooter; \ No newline at end of file +module.exports = MjBwAcLearnMoreFooter; diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-inviter-info.js b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-inviter-info.js index e9d392f570..ef2193a4f9 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-inviter-info.js +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mj-bw-inviter-info.js @@ -1,17 +1,16 @@ const { BodyComponent } = require("mjml-core"); class MjBwInviterInfo extends BodyComponent { + static dependencies = { + "mj-column": ["mj-bw-inviter-info"], + "mj-wrapper": ["mj-bw-inviter-info"], + "mj-bw-inviter-info": [], + }; - static dependencies = { - "mj-column": ["mj-bw-inviter-info"], - "mj-wrapper": ["mj-bw-inviter-info"], - "mj-bw-inviter-info": [], - }; - - static allowedAttributes = { + static allowedAttributes = { "expiration-date": "string", // REQUIRED: Date to display "email-address": "string", // Optional: Email address to display - }; + }; render() { const emailAddressText = this.getAttribute("email-address") @@ -27,7 +26,7 @@ class MjBwInviterInfo extends BodyComponent {
- ` + `, ); } } diff --git a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mobile-app-download.mjml b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mobile-app-download.mjml index 8e990dc924..c94e3a98d9 100644 --- a/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mobile-app-download.mjml +++ b/src/Core/MailTemplates/Mjml/emails/AdminConsole/components/mobile-app-download.mjml @@ -1,38 +1,53 @@ - - - - Download Bitwarden on all devices - - - Already using the browser extension? - Download the Bitwarden mobile app from the - App Store - or Google Play - to quickly save logins and autofill forms on the go. - - + + + Download Bitwarden on all devices + + + Already using the + browser extension? Download the Bitwarden mobile app from the + App Store + or + Google Play + to quickly save logins and autofill forms on the go. + + - - - - - - - - + + + + + + + + diff --git a/src/Core/MailTemplates/Mjml/emails/Auth/Onboarding/welcome-family-user.mjml b/src/Core/MailTemplates/Mjml/emails/Auth/Onboarding/welcome-family-user.mjml index 7c81a700f2..3e7254e121 100644 --- a/src/Core/MailTemplates/Mjml/emails/Auth/Onboarding/welcome-family-user.mjml +++ b/src/Core/MailTemplates/Mjml/emails/Auth/Onboarding/welcome-family-user.mjml @@ -18,7 +18,7 @@ - An administrator from {{OrganizationName}} will approve you + An administrator from {{ OrganizationName }} will approve you before you can share passwords. While you wait for approval, get started with Bitwarden Password Manager: diff --git a/src/Core/MailTemplates/Mjml/emails/Auth/Onboarding/welcome-org-user.mjml b/src/Core/MailTemplates/Mjml/emails/Auth/Onboarding/welcome-org-user.mjml index 7b8a03dc7e..5e946a48a3 100644 --- a/src/Core/MailTemplates/Mjml/emails/Auth/Onboarding/welcome-org-user.mjml +++ b/src/Core/MailTemplates/Mjml/emails/Auth/Onboarding/welcome-org-user.mjml @@ -18,9 +18,9 @@ - An administrator from {{OrganizationName}} will need to confirm - you before you can share passwords. Get started with Bitwarden - Password Manager: + An administrator from {{ OrganizationName }} will need to + confirm you before you can share passwords. Get started with + Bitwarden Password Manager: diff --git a/src/Core/MailTemplates/Mjml/emails/Auth/UserFeatures/EmergencyAccess/emergency-access-remove-grantees.mjml b/src/Core/MailTemplates/Mjml/emails/Auth/UserFeatures/EmergencyAccess/emergency-access-remove-grantees.mjml index 0dc9f93e45..8a2975a353 100644 --- a/src/Core/MailTemplates/Mjml/emails/Auth/UserFeatures/EmergencyAccess/emergency-access-remove-grantees.mjml +++ b/src/Core/MailTemplates/Mjml/emails/Auth/UserFeatures/EmergencyAccess/emergency-access-remove-grantees.mjml @@ -1,31 +1,33 @@ - - - - - - - - + + + + + + + + - - - - - - The following emergency contacts have been removed from your account: -
    - {{#each RemovedGranteeEmails}} -
  • {{this}}
  • - {{/each}} -
- Learn more about emergency access. -
-
-
-
+ + + + + + The following emergency contacts have been removed from your + account: +
    + {{#each RemovedGranteeEmails}} +
  • {{ this }}
  • + {{/each}} +
+ Learn more about + emergency access. +
+
+
+
- - -
+ + +
diff --git a/src/Core/MailTemplates/Mjml/emails/Auth/send-email-otp.mjml b/src/Core/MailTemplates/Mjml/emails/Auth/send-email-otp.mjml index 660bbf0b45..62c749b115 100644 --- a/src/Core/MailTemplates/Mjml/emails/Auth/send-email-otp.mjml +++ b/src/Core/MailTemplates/Mjml/emails/Auth/send-email-otp.mjml @@ -24,12 +24,12 @@ Your verification code is: - - {{Token}} + + {{ Token }} - This code expires in {{Expiry}} minutes. After that, you'll need + This code expires in {{ Expiry }} minutes. After that, you'll need to verify your email again. @@ -42,10 +42,10 @@ inner-border-radius="16px" padding="0px" > - +

- Bitwarden Send transmits sensitive, temporary information to - others easily and securely. Learn more about + Bitwarden Send securely shares sensitive information. Learn more + about Bitwarden Send diff --git a/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/families-2019-renewal.mjml b/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/families-2019-renewal.mjml index 06f60e7724..6dd363f5f2 100644 --- a/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/families-2019-renewal.mjml +++ b/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/families-2019-renewal.mjml @@ -1,42 +1,55 @@ - - - + + + - - - - - + + + + + - - - - - - Your Bitwarden Families subscription renews in 15 days. The price is updating to {{BaseMonthlyRenewalPrice}}/month, billed annually - at {{BaseAnnualRenewalPrice}} + tax. - - - As a long time Bitwarden customer, you will receive a one-time {{DiscountAmount}} loyalty discount for this year's renewal. - This renewal will now be billed annually at {{DiscountedAnnualRenewalPrice}} + tax. - - - Questions? Contact - support@bitwarden.com - - - - - - + + + + + + Your Bitwarden Families subscription renews in 15 days. The price is + updating to {{ BaseMonthlyRenewalPrice }}/month, billed annually at + {{ BaseAnnualRenewalPrice }} + tax. + + + As a long time Bitwarden customer, you will receive a one-time + {{ DiscountAmount }} loyalty discount for this year's renewal. This + renewal will now be billed annually at + {{ DiscountedAnnualRenewalPrice }} + tax. + + + Questions? Contact + support@bitwarden.com + + + + + + - - - - + + + + - - - + + + diff --git a/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/families-2020-renewal.mjml b/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/families-2020-renewal.mjml index dcf193875a..d2725c24ae 100644 --- a/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/families-2020-renewal.mjml +++ b/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/families-2020-renewal.mjml @@ -13,11 +13,19 @@ - - Your Bitwarden Families subscription renews in 15 days. The price is updating to {{MonthlyRenewalPrice}}/month, billed annually. + + Your Bitwarden Families subscription renews in 15 days. The price is + updating to {{ MonthlyRenewalPrice }}/month, billed annually. - Questions? Contact support@bitwarden.com + Questions? Contact + support@bitwarden.com diff --git a/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/premium-renewal.mjml b/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/premium-renewal.mjml index defec91f0e..1aa4a8af7f 100644 --- a/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/premium-renewal.mjml +++ b/src/Core/MailTemplates/Mjml/emails/Billing/Renewals/premium-renewal.mjml @@ -1,41 +1,54 @@ - - - + + + - - - - - + + + + + - - - - - - Your Bitwarden Premium subscription renews in 15 days. The price is updating to {{BaseMonthlyRenewalPrice}}/month, billed annually. - - - As an existing Bitwarden customer, you will receive a one-time {{DiscountAmount}} loyalty discount for this year's renewal. - This renewal will now be billed annually at {{DiscountedAnnualRenewalPrice}} + tax. - - - Questions? Contact - support@bitwarden.com - - - - - - + + + + + + Your Bitwarden Premium subscription renews in 15 days. The price is + updating to {{ BaseMonthlyRenewalPrice }}/month, billed annually. + + + As an existing Bitwarden customer, you will receive a one-time + {{ DiscountAmount }} loyalty discount for this year's renewal. This + renewal will now be billed annually at + {{ DiscountedAnnualRenewalPrice }} + tax. + + + Questions? Contact + support@bitwarden.com + + + + + + - - - - + + + + - - - + + + diff --git a/src/Core/Models/Mail/Billing/Renewal/Families2019Renewal/Families2019RenewalMailView.html.hbs b/src/Core/Models/Mail/Billing/Renewal/Families2019Renewal/Families2019RenewalMailView.html.hbs index e9d7d406a0..09aebe4546 100644 --- a/src/Core/Models/Mail/Billing/Renewal/Families2019Renewal/Families2019RenewalMailView.html.hbs +++ b/src/Core/Models/Mail/Billing/Renewal/Families2019Renewal/Families2019RenewalMailView.html.hbs @@ -193,8 +193,9 @@

@@ -202,8 +203,10 @@ @@ -212,7 +215,7 @@ @@ -279,8 +282,8 @@
- + +
@@ -610,7 +610,7 @@
-

+

Learn more about Bitwarden

Find user guides, product documentation, and videos on the @@ -624,7 +624,7 @@
- +
@@ -867,14 +867,15 @@

- © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, Santa - Barbara, CA, USA + © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, + Santa Barbara, CA, USA

Always confirm you are on a trusted Bitwarden domain before logging in:
- bitwarden.com | - Learn why we include this + bitwarden.com + | + Learn why we include this

-
Your Bitwarden Families subscription renews in 15 days. The price is updating to {{BaseMonthlyRenewalPrice}}/month, billed annually - at {{BaseAnnualRenewalPrice}} + tax.
+
Your Bitwarden Families subscription renews in 15 days. The price is + updating to {{ BaseMonthlyRenewalPrice }}/month, billed annually at + {{ BaseAnnualRenewalPrice }} + tax.
-
As a long time Bitwarden customer, you will receive a one-time {{DiscountAmount}} loyalty discount for this year's renewal. - This renewal will now be billed annually at {{DiscountedAnnualRenewalPrice}} + tax.
+
As a long time Bitwarden customer, you will receive a one-time + {{ DiscountAmount }} loyalty discount for this year's renewal. This + renewal will now be billed annually at + {{ DiscountedAnnualRenewalPrice }} + tax.
Questions? Contact - support@bitwarden.com
+ support@bitwarden.com
- diff --git a/src/Core/Models/Mail/Billing/Renewal/Families2020Renewal/Families2020RenewalMailView.html.hbs b/src/Core/Models/Mail/Billing/Renewal/Families2020Renewal/Families2020RenewalMailView.html.hbs index d1e1dcec31..3e55e8868b 100644 --- a/src/Core/Models/Mail/Billing/Renewal/Families2020Renewal/Families2020RenewalMailView.html.hbs +++ b/src/Core/Models/Mail/Billing/Renewal/Families2020Renewal/Families2020RenewalMailView.html.hbs @@ -1,6 +1,6 @@ - + @@ -8,612 +8,569 @@ - - + + - - - - + + + + - + - - - - - -
- - - - - -
- + + + + + +
+ + + + + +
+
- + +
@@ -290,7 +293,7 @@
-

+

Learn more about Bitwarden

Find user guides, product documentation, and videos on the @@ -304,7 +307,7 @@
- +
@@ -547,14 +550,15 @@

- © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, Santa - Barbara, CA, USA + © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, + Santa Barbara, CA, USA

Always confirm you are on a trusted Bitwarden domain before logging in:
- bitwarden.com | - Learn why we include this + bitwarden.com + | + Learn why we include this

- + - + + +
- - - - - - - - -
- - - - - -
- - - - - - - -
- - -
- - - - - - - - - - - - - -
- - - - - - - -
- - - -
- -
- -

- Your Bitwarden Families renewal is updating -

- -
- -
- - - -
- - - - - - - - - -
- - - - - - - -
- - - -
- -
- -
- - -
- -
- - - - - -
- - +
+ + + + + + + + +
+ + + + + +
+ + + + + - +
+ + +
+ + + + + + + + + +
+ + + + + + + +
+ + + +
+
+ +
+ + +
- -
- - - - + + + + + + + +
+ + +
+ +
+ + + + - - - - -
- + + + + +
+ - + - + + +
- - - -
- - - - - - - -
- - -
- - - - - - - - - - - - - -
- -
Your Bitwarden Families subscription renews in 15 days. The price is updating to {{MonthlyRenewalPrice}}/month, billed annually.
- -
- -
Questions? Contact support@bitwarden.com
- -
- -
- - -
- -
- - - - - -
- - - - - - - -
- -
- -
- - - +
+ + + +
+ + + + + - +
+ + +
+ + + + + + + + + + + + + +
+ +
Your Bitwarden Families subscription renews in 15 days. The price is + updating to {{ MonthlyRenewalPrice }}/month, billed annually.
+
+ +
Questions? Contact + support@bitwarden.com
+ +
+ +
+ + +
- -
- - - - + + + + + + + +
+ + + + + + + +
+ +
+ +
+ + + +
+ +
+ + + + - - - - -
- + + + + +
+ - + - + + +
- - - -
- - - - - - - -
- - -
- - - - - - - - - -
- -

- Learn more about Bitwarden -

- Find user guides, product documentation, and videos on the - Bitwarden Help Center.
- -
- -
- - - -
- - - - - - - - - -
- -
- - -
- -
- - - +
+ + + +
+ + + + + - +
+ + +
+ + + + + + + + + +
+ +

+ Learn more about Bitwarden +

+ Find user guides, product documentation, and videos on the + Bitwarden Help Center.
+
+ +
+ + + +
+ + + + + + + + + +
+ +
+ + +
- -
- - - - + + + + + +
+ +
+ + + + - - - - -
- + + + + +
+ - + - + +
- - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - -
- - - - - - -
- - - -
-
- - - - - - - - - - -
- - - - - - -
- - - -
-
- - - - - - - - - - -
- - - - - - -
- - - -
-
- - - - - - - - - - -
- - - - - - -
- - - -
-
- - - - - - - - - - -
- - - - - - -
- - - -
-
- - - - - - - - - - -
- - - - - - -
- - - -
-
- - - - - - - - - - -
- - - - - - -
- - - -
-
- - - -
- -

- © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, Santa - Barbara, CA, USA -

-

- Always confirm you are on a trusted Bitwarden domain before logging - in:
- bitwarden.com | - Learn why we include this -

- -
- -
- - +
+ + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + + - + +
+ + +
+
+ + + + + + + + + + +
+ + + + + + +
+ + + +
+
+ + + + + + + + + + +
+ + + + + + +
+ + + +
+
+ + + + + + + + + + +
+ + + + + + +
+ + + +
+
+ + + + + + + + + + +
+ + + + + + +
+ + + +
+
+ + + + + + + + + + +
+ + + + + + +
+ + + +
+
+ + + + + + + + + + +
+ + + + + + +
+ + + +
+
+ + + +
+ +

+ © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, + Santa Barbara, CA, USA +

+

+ Always confirm you are on a trusted Bitwarden domain before logging + in:
+ bitwarden.com + | + Learn why we include this +

+ +
+ +
+ + +
- -
- - - - - -
- - + +
+ + + + + +
+ + + \ No newline at end of file diff --git a/src/Core/Models/Mail/Billing/Renewal/Premium/PremiumRenewalMailView.html.hbs b/src/Core/Models/Mail/Billing/Renewal/Premium/PremiumRenewalMailView.html.hbs index 182a24cde3..81f567a772 100644 --- a/src/Core/Models/Mail/Billing/Renewal/Premium/PremiumRenewalMailView.html.hbs +++ b/src/Core/Models/Mail/Billing/Renewal/Premium/PremiumRenewalMailView.html.hbs @@ -193,7 +193,8 @@
-
Your Bitwarden Premium subscription renews in 15 days. The price is updating to {{BaseMonthlyRenewalPrice}}/month, billed annually.
+
Your Bitwarden Premium subscription renews in 15 days. The price is + updating to {{ BaseMonthlyRenewalPrice }}/month, billed annually.
-
As an existing Bitwarden customer, you will receive a one-time {{DiscountAmount}} loyalty discount for this year's renewal. - This renewal will now be billed annually at {{DiscountedAnnualRenewalPrice}} + tax.
+
As an existing Bitwarden customer, you will receive a one-time + {{ DiscountAmount }} loyalty discount for this year's renewal. This + renewal will now be billed annually at + {{ DiscountedAnnualRenewalPrice }} + tax.
Questions? Contact - support@bitwarden.com
+ support@bitwarden.com
-
- + +
@@ -289,7 +292,7 @@
-

+

Learn more about Bitwarden

Find user guides, product documentation, and videos on the @@ -303,7 +306,7 @@
- +
@@ -546,14 +549,15 @@

- © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, Santa - Barbara, CA, USA + © {{ CurrentYear }} Bitwarden Inc. 1 N. Calle Cesar Chavez, Suite 102, + Santa Barbara, CA, USA

Always confirm you are on a trusted Bitwarden domain before logging in:
- bitwarden.com | - Learn why we include this + bitwarden.com + | + Learn why we include this