diff --git a/apps/browser/src/_locales/en/messages.json b/apps/browser/src/_locales/en/messages.json index 664538fcc4..4bfd3f6ce8 100644 --- a/apps/browser/src/_locales/en/messages.json +++ b/apps/browser/src/_locales/en/messages.json @@ -4892,9 +4892,15 @@ "importantNotice": { "message": "Important notice" }, + "setupTwoStepLogin": { + "message": "Set up two-step login" + }, "newDeviceVerificationNoticeContentPage1": { "message": "Bitwarden will soon send a code to your account email to verify logins from new devices." }, + "newDeviceVerificationNoticeContentPage2": { + "message": "You can set up two-step login as an alternative way to protect your account or change your email to one you can access." + }, "newDeviceVerificationNoticePage1FormContent": { "message": "Do you have reliable access to your email, $EMAIL$", "placeholders": { @@ -4910,6 +4916,12 @@ "newDeviceVerificationNoticePage1OptionB": { "message": "Yes, I can reliably access my email" }, + "turnOnTwoStepLogin": { + "message": "Turn on two-step login" + }, + "changeAcctEmail": { + "message": "Change account email" + }, "extensionWidth": { "message": "Extension width" }, diff --git a/apps/desktop/src/locales/en/messages.json b/apps/desktop/src/locales/en/messages.json index 85f0ae5710..cb0d774a44 100644 --- a/apps/desktop/src/locales/en/messages.json +++ b/apps/desktop/src/locales/en/messages.json @@ -3380,9 +3380,15 @@ "importantNotice": { "message": "Important notice" }, + "setupTwoStepLogin": { + "message": "Set up two-step login" + }, "newDeviceVerificationNoticeContentPage1": { "message": "Bitwarden will soon send a code to your account email to verify logins from new devices." }, + "newDeviceVerificationNoticeContentPage2": { + "message": "You can set up two-step login as an alternative way to protect your account or change your email to one you can access." + }, "newDeviceVerificationNoticePage1FormContent": { "message": "Do you have reliable access to your email, $EMAIL$", "placeholders": { @@ -3397,5 +3403,11 @@ }, "newDeviceVerificationNoticePage1OptionB": { "message": "Yes, I can reliably access my email" + }, + "turnOnTwoStepLogin": { + "message": "Turn on two-step login" + }, + "changeAcctEmail": { + "message": "Change account email" } } diff --git a/apps/web/src/app/oss-routing.module.ts b/apps/web/src/app/oss-routing.module.ts index 1d3f975e49..935143131a 100644 --- a/apps/web/src/app/oss-routing.module.ts +++ b/apps/web/src/app/oss-routing.module.ts @@ -36,10 +36,13 @@ import { LoginDecryptionOptionsComponent, } from "@bitwarden/auth/angular"; import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; -import { VaultIcons } from "@bitwarden/vault"; +import { + NewDeviceVerificationNoticePageOneComponent, + NewDeviceVerificationNoticePageTwoComponent, + VaultIcons, +} from "@bitwarden/vault"; import { twofactorRefactorSwap } from "../../../../libs/angular/src/utils/two-factor-component-refactor-route-swap"; -import { NewDeviceVerificationNoticePageOneComponent } from "../../../../libs/vault/src/components/new-device-verification-notice/new-device-verification-notice-page-one.component"; import { flagEnabled, Flags } from "../utils/flags"; import { VerifyRecoverDeleteOrgComponent } from "./admin-console/organizations/manage/verify-recover-delete-org.component"; @@ -657,6 +660,16 @@ const routes: Routes = [ }, }, }, + { + path: "setup", + component: NewDeviceVerificationNoticePageTwoComponent, + data: { + pageIcon: VaultIcons.UserLock, + pageTitle: { + key: "setupTwoStepLogin", + }, + }, + }, ], }, { diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index 7a3282ca43..3989e32c6d 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -9791,9 +9791,15 @@ "importantNotice": { "message": "Important notice" }, + "setupTwoStepLogin": { + "message": "Set up two-step login" + }, "newDeviceVerificationNoticeContentPage1": { "message": "Bitwarden will soon send a code to your account email to verify logins from new devices." }, + "newDeviceVerificationNoticeContentPage2": { + "message": "You can set up two-step login as an alternative way to protect your account or change your email to one you can access." + }, "newDeviceVerificationNoticePage1FormContent": { "message": "Do you have reliable access to your email, $EMAIL$", "placeholders": { @@ -9808,5 +9814,11 @@ }, "newDeviceVerificationNoticePage1OptionB": { "message": "Yes, I can reliably access my email" + }, + "turnOnTwoStepLogin": { + "message": "Turn on two-step login" + }, + "changeAcctEmail": { + "message": "Change account email" } } diff --git a/libs/vault/src/components/new-device-verification-notice/new-device-verification-notice-page-one.component.html b/libs/vault/src/components/new-device-verification-notice/new-device-verification-notice-page-one.component.html index c78546c2ca..e9ac8c8a27 100644 --- a/libs/vault/src/components/new-device-verification-notice/new-device-verification-notice-page-one.component.html +++ b/libs/vault/src/components/new-device-verification-notice/new-device-verification-notice-page-one.component.html @@ -1,6 +1,6 @@

- {{ "newDeviceVerificationNoticeContentPage1" | i18n }} + {{ "newDeviceVerificationNoticeContentPage2" | i18n }}

+ {{ "newDeviceVerificationNoticeContentPage1" | i18n }} +

+ + + diff --git a/libs/vault/src/components/new-device-verification-notice/new-device-verification-notice-page-two.component.ts b/libs/vault/src/components/new-device-verification-notice/new-device-verification-notice-page-two.component.ts new file mode 100644 index 0000000000..2bbeae47ff --- /dev/null +++ b/libs/vault/src/components/new-device-verification-notice/new-device-verification-notice-page-two.component.ts @@ -0,0 +1,25 @@ +import { CommonModule } from "@angular/common"; +import { Component, OnInit } from "@angular/core"; + +import { JslibModule } from "@bitwarden/angular/jslib.module"; +import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; +import { ButtonModule, TypographyModule } from "@bitwarden/components"; + +@Component({ + standalone: true, + selector: "app-new-device-verification-notice-page-two", + templateUrl: "./new-device-verification-notice-page-two.component.html", + imports: [CommonModule, JslibModule, TypographyModule, ButtonModule], +}) +export class NewDeviceVerificationNoticePageTwoComponent implements OnInit { + formMessage: string; + constructor(private i18nService: I18nService) {} + + ngOnInit() { + this.formMessage = this.i18nService.t( + "newDeviceVerificationNoticePage1FormContent", + "peter.parker@daily.com", + ); + } + submit = () => {}; +} diff --git a/libs/vault/src/icons/index.ts b/libs/vault/src/icons/index.ts index d7c2495fc2..2e106782f5 100644 --- a/libs/vault/src/icons/index.ts +++ b/libs/vault/src/icons/index.ts @@ -3,3 +3,4 @@ export * from "./no-folders"; export * from "./vault"; export * from "./empty-trash"; export * from "./exclamation-triangle"; +export * from "./user-lock"; diff --git a/libs/vault/src/icons/user-lock.ts b/libs/vault/src/icons/user-lock.ts new file mode 100644 index 0000000000..e20525ebd8 --- /dev/null +++ b/libs/vault/src/icons/user-lock.ts @@ -0,0 +1,17 @@ +import { svgIcon } from "@bitwarden/components"; + +export const UserLock = svgIcon` + + + + + + + + + + + + + +`; diff --git a/libs/vault/src/index.ts b/libs/vault/src/index.ts index f6a95281f8..8513990121 100644 --- a/libs/vault/src/index.ts +++ b/libs/vault/src/index.ts @@ -13,5 +13,7 @@ export { export { DownloadAttachmentComponent } from "./components/download-attachment/download-attachment.component"; export { PasswordHistoryViewComponent } from "./components/password-history-view/password-history-view.component"; +export { NewDeviceVerificationNoticePageOneComponent } from "./components/new-device-verification-notice/new-device-verification-notice-page-one.component"; +export { NewDeviceVerificationNoticePageTwoComponent } from "./components/new-device-verification-notice/new-device-verification-notice-page-two.component"; export * as VaultIcons from "./icons";