1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-15 07:43:35 +00:00

[PM-22179] Redirect user to /setup-extension (#15375)

* add end user feature flag

* add initial setup extension component and route

* redirect users from registration completion to the setup extension page

* add `hideIcon` to anon layout for web
- matches implementation on the browser.

* integrate with anon layout for extension wrapper

* add initial loading state

* conditionally redirect the user upon initialization

* redirect the user to the vault if the extension is installed

* add initial copy for setup-extension page

* add confirmation dialog for skipping the extension installation

* add success state for setup extension page

* only show loggedin toast when end user activation is not enabled.

* add image alt

* lower threshold for polling extension

* close the dialog when linking to the vault

* update party colors

* use the platform specific registration service to to only forward the web registrations to `/setup-extension`

* call `super` rather than `/vault` directly, it could change in the future
This commit is contained in:
Nick Krantz
2025-07-03 06:14:25 -05:00
committed by GitHub
parent cef6a5e8d0
commit ab4af7deed
23 changed files with 603 additions and 14 deletions

View File

@@ -55,6 +55,7 @@ export enum FeatureFlag {
PM18520_UpdateDesktopCipherForm = "pm-18520-desktop-cipher-forms",
EndUserNotifications = "pm-10609-end-user-notifications",
RemoveCardItemTypePolicy = "pm-16442-remove-card-item-type-policy",
PM19315EndUserActivationMvp = "pm-19315-end-user-activation-mvp",
/* Platform */
IpcChannelFramework = "ipc-channel-framework",
@@ -99,6 +100,7 @@ export const DefaultFeatureFlagValue = {
[FeatureFlag.EndUserNotifications]: FALSE,
[FeatureFlag.PM19941MigrateCipherDomainToSdk]: FALSE,
[FeatureFlag.RemoveCardItemTypePolicy]: FALSE,
[FeatureFlag.PM19315EndUserActivationMvp]: FALSE,
/* Auth */
[FeatureFlag.PM16117_SetInitialPasswordRefactor]: FALSE,

View File

@@ -0,0 +1,22 @@
import { DeviceType } from "@bitwarden/common/enums";
/**
* Returns the web store URL for the Bitwarden browser extension based on the device type.
* @defaults Bitwarden download page
*/
export const getWebStoreUrl = (deviceType: DeviceType): string => {
switch (deviceType) {
case DeviceType.ChromeBrowser:
return "https://chromewebstore.google.com/detail/bitwarden-password-manage/nngceckbapebfimnlniiiahkandclblb";
case DeviceType.FirefoxBrowser:
return "https://addons.mozilla.org/en-US/firefox/addon/bitwarden-password-manager/";
case DeviceType.SafariBrowser:
return "https://apps.apple.com/us/app/bitwarden/id1352778147?mt=12";
case DeviceType.OperaBrowser:
return "https://addons.opera.com/extensions/details/bitwarden-free-password-manager/";
case DeviceType.EdgeBrowser:
return "https://microsoftedge.microsoft.com/addons/detail/jbkfoedolllekgbhcbcoahefnbanhhlh";
default:
return "https://bitwarden.com/download/#downloads-web-browser";
}
};