mirror of
https://github.com/bitwarden/browser.git
synced 2025-02-16 01:21:48 +01:00
[PM-14426] Refactor at-risk-password-page.service.ts to use the same state definition for banner and carousel dismissal
This commit is contained in:
parent
8d3360e9a4
commit
00e21855f4
@ -2,18 +2,27 @@ import { inject, Injectable } from "@angular/core";
|
||||
import { map, Observable } from "rxjs";
|
||||
|
||||
import {
|
||||
BANNERS_DISMISSED_DISK,
|
||||
AT_RISK_PASSWORDS_PAGE_DISK,
|
||||
StateProvider,
|
||||
UserKeyDefinition,
|
||||
} from "@bitwarden/common/platform/state";
|
||||
import { UserId } from "@bitwarden/common/types/guid";
|
||||
|
||||
export const AT_RISK_PASSWORD_AUTOFILL_CALLOUT_DISMISSED_KEY = new UserKeyDefinition<boolean>(
|
||||
BANNERS_DISMISSED_DISK,
|
||||
"atRiskPasswordAutofillBannerDismissed",
|
||||
const AUTOFILL_CALLOUT_DISMISSED_KEY = new UserKeyDefinition<boolean>(
|
||||
AT_RISK_PASSWORDS_PAGE_DISK,
|
||||
"autofillCalloutDismissed",
|
||||
{
|
||||
deserializer: (bannersDismissed) => bannersDismissed,
|
||||
clearOn: [], // Do not clear dismissed banners
|
||||
clearOn: [], // Do not clear dismissed callout
|
||||
},
|
||||
);
|
||||
|
||||
const GETTING_STARTED_CAROUSEL_DISMISSED_KEY = new UserKeyDefinition<boolean>(
|
||||
AT_RISK_PASSWORDS_PAGE_DISK,
|
||||
"gettingStartedCarouselDismissed",
|
||||
{
|
||||
deserializer: (bannersDismissed) => bannersDismissed,
|
||||
clearOn: [], // Do not clear dismissed carousel
|
||||
},
|
||||
);
|
||||
|
||||
@ -23,13 +32,23 @@ export class AtRiskPasswordPageService {
|
||||
|
||||
isCalloutDismissed(userId: UserId): Observable<boolean> {
|
||||
return this.stateProvider
|
||||
.getUser(userId, AT_RISK_PASSWORD_AUTOFILL_CALLOUT_DISMISSED_KEY)
|
||||
.getUser(userId, AUTOFILL_CALLOUT_DISMISSED_KEY)
|
||||
.state$.pipe(map((dismissed) => !!dismissed));
|
||||
}
|
||||
|
||||
async dismissCallout(userId: UserId): Promise<void> {
|
||||
await this.stateProvider.getUser(userId, AUTOFILL_CALLOUT_DISMISSED_KEY).update(() => true);
|
||||
}
|
||||
|
||||
isGettingStartedDismissed(userId: UserId): Observable<boolean> {
|
||||
return this.stateProvider
|
||||
.getUser(userId, GETTING_STARTED_CAROUSEL_DISMISSED_KEY)
|
||||
.state$.pipe(map((dismissed) => !!dismissed));
|
||||
}
|
||||
|
||||
async dismissGettingStarted(userId: UserId): Promise<void> {
|
||||
await this.stateProvider
|
||||
.getUser(userId, AT_RISK_PASSWORD_AUTOFILL_CALLOUT_DISMISSED_KEY)
|
||||
.getUser(userId, GETTING_STARTED_CAROUSEL_DISMISSED_KEY)
|
||||
.update(() => true);
|
||||
}
|
||||
}
|
||||
|
@ -199,3 +199,4 @@ export const NEW_DEVICE_VERIFICATION_NOTICE = new StateDefinition(
|
||||
);
|
||||
export const VAULT_APPEARANCE = new StateDefinition("vaultAppearance", "disk");
|
||||
export const SECURITY_TASKS_DISK = new StateDefinition("securityTasks", "disk");
|
||||
export const AT_RISK_PASSWORDS_PAGE_DISK = new StateDefinition("atRiskPasswordsPage", "disk");
|
||||
|
Loading…
Reference in New Issue
Block a user