mirror of
https://github.com/bitwarden/browser
synced 2025-12-27 21:53:25 +00:00
* added previous-url to global-state * updated storage of previousUrl for SSO/MFA flows * revert file changes * added post login routing * Clear PreviousUrl from storage on new Login * Components do not call StateService anymore * removed needed query params * refactored components to use RouterService * fixed build error * fixed mfa component * updated logic for previous Url * removed unneeded base implementation * Added state call for Redirect Guard * Fixed test cases * Remove routing service calls * renamed global field, changed routing to guard * reverting constructor changes and git lint issue * fixing constructor ordering * fixing diffs to be clearer on actual cahnges. * addressing accepting emergency access case * refactor and add locked state logic * refactor name of guard to be more clear * Added comments and tests * comments + support lock page deep linking + code ownership * readability updates * Combined guards and specs updated routing * Update oss-routing.module.ts * fixed stroybook build
56 lines
2.0 KiB
TypeScript
56 lines
2.0 KiB
TypeScript
import { Component } from "@angular/core";
|
|
import { ActivatedRoute, Params, Router } from "@angular/router";
|
|
|
|
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
|
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
|
|
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
|
|
|
|
import { BaseAcceptComponent } from "../../../common/base.accept.component";
|
|
import { SharedModule } from "../../../shared";
|
|
import { EmergencyAccessModule } from "../emergency-access.module";
|
|
import { EmergencyAccessService } from "../services/emergency-access.service";
|
|
|
|
@Component({
|
|
standalone: true,
|
|
imports: [SharedModule, EmergencyAccessModule],
|
|
templateUrl: "accept-emergency.component.html",
|
|
})
|
|
export class AcceptEmergencyComponent extends BaseAcceptComponent {
|
|
name: string;
|
|
|
|
protected requiredParameters: string[] = ["id", "name", "email", "token"];
|
|
protected failedShortMessage = "emergencyInviteAcceptFailedShort";
|
|
protected failedMessage = "emergencyInviteAcceptFailed";
|
|
|
|
constructor(
|
|
router: Router,
|
|
platformUtilsService: PlatformUtilsService,
|
|
i18nService: I18nService,
|
|
route: ActivatedRoute,
|
|
stateService: StateService,
|
|
private emergencyAccessService: EmergencyAccessService
|
|
) {
|
|
super(router, platformUtilsService, i18nService, route, stateService);
|
|
}
|
|
|
|
async authedHandler(qParams: Params): Promise<void> {
|
|
this.actionPromise = this.emergencyAccessService.accept(qParams.id, qParams.token);
|
|
await this.actionPromise;
|
|
this.platformUtilService.showToast(
|
|
"success",
|
|
this.i18nService.t("inviteAccepted"),
|
|
this.i18nService.t("emergencyInviteAcceptedDesc"),
|
|
{ timeout: 10000 }
|
|
);
|
|
this.router.navigate(["/vault"]);
|
|
}
|
|
|
|
async unauthedHandler(qParams: Params): Promise<void> {
|
|
this.name = qParams.name;
|
|
if (this.name != null) {
|
|
// Fix URL encoding of space issue with Angular
|
|
this.name = this.name.replace(/\+/g, " ");
|
|
}
|
|
}
|
|
}
|