Add premium dialog when trying to navigate to attachments without premium permissions (#11387)
This commit is contained in:
parent
f82563ee23
commit
8ec5517809
|
@ -207,6 +207,7 @@ export class VaultItemDialogComponent implements OnInit, OnDestroy {
|
|||
private accountService: AccountService,
|
||||
private router: Router,
|
||||
private billingAccountProfileStateService: BillingAccountProfileStateService,
|
||||
private premiumUpgradeService: PremiumUpgradePromptService,
|
||||
) {
|
||||
this.updateTitle();
|
||||
}
|
||||
|
@ -297,6 +298,13 @@ export class VaultItemDialogComponent implements OnInit, OnDestroy {
|
|||
};
|
||||
|
||||
openAttachmentsDialog = async () => {
|
||||
const canAccessAttachments = await firstValueFrom(this.canAccessAttachments$);
|
||||
|
||||
if (!canAccessAttachments) {
|
||||
await this.premiumUpgradeService.promptForPremium();
|
||||
return;
|
||||
}
|
||||
|
||||
const dialogRef = this.dialogService.open<AttachmentDialogCloseResult, { cipherId: CipherId }>(
|
||||
AttachmentsV2Component,
|
||||
{
|
||||
|
|
|
@ -611,6 +611,12 @@ export class VaultComponent implements OnInit, OnDestroy {
|
|||
const result = await lastValueFrom(this.vaultItemDialogRef.closed);
|
||||
this.vaultItemDialogRef = undefined;
|
||||
|
||||
// When the dialog is closed for a premium upgrade, return early as the user
|
||||
// should be navigated to the subscription settings elsewhere
|
||||
if (result === VaultItemDialogResult.PremiumUpgrade) {
|
||||
return;
|
||||
}
|
||||
|
||||
// If the dialog was closed by deleting the cipher, refresh the vault.
|
||||
if (result === VaultItemDialogResult.Deleted || result === VaultItemDialogResult.Saved) {
|
||||
this.refresh();
|
||||
|
|
Loading…
Reference in New Issue