1
0
mirror of https://github.com/bitwarden/browser synced 2026-01-09 12:03:33 +00:00

[SM-108] Refactor Reports - Add storybook stories (#3204)

This commit is contained in:
Oscar Hinton
2022-08-03 21:40:04 +02:00
committed by GitHub
parent 4398467368
commit 6b1652e34c
57 changed files with 512 additions and 223 deletions

View File

@@ -0,0 +1,31 @@
import { Injectable } from "@angular/core";
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from "@angular/router";
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
import { StateService } from "@bitwarden/common/abstractions/state.service";
@Injectable({
providedIn: "root",
})
export class HasPremiumGuard implements CanActivate {
constructor(
private router: Router,
private stateService: StateService,
private messagingService: MessagingService
) {}
async canActivate(route: ActivatedRouteSnapshot, routerState: RouterStateSnapshot) {
const userHasPremium = await this.stateService.getCanAccessPremium();
if (!userHasPremium) {
this.messagingService.send("premiumRequired");
}
// Prevent trapping the user on the login page, since that's an awful UX flow
if (!userHasPremium && this.router.url === "/login") {
return this.router.createUrlTree(["/"]);
}
return userHasPremium;
}
}