Fix console nextUrl stacking routes (#2164)

This commit is contained in:
Pavlo Tkach 2023-10-02 17:38:03 -04:00 committed by GitHub
parent 1eed9c82dc
commit 2dc87d42b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -13,7 +13,11 @@
// limitations under the License. // limitations under the License.
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Router } from '@angular/router'; import {
ActivatedRouteSnapshot,
Router,
RouterStateSnapshot,
} from '@angular/router';
import { RegistrarService } from './registrar.service'; import { RegistrarService } from './registrar.service';
@ -26,13 +30,16 @@ export class RegistrarGuard {
private registrarService: RegistrarService private registrarService: RegistrarService
) {} ) {}
canActivate(): Promise<boolean> | boolean { canActivate(
_: ActivatedRouteSnapshot,
state: RouterStateSnapshot
): Promise<boolean> | boolean {
if (this.registrarService.activeRegistrarId) { if (this.registrarService.activeRegistrarId) {
return true; return true;
} }
// Get the full URL including any nested children (skip the initial '#/') return this.router.navigate([
// NB: an empty nextUrl takes the user to the home page `/empty-registrar`,
const nextUrl = location.hash.split('#/')[1] || ''; { nextUrl: state.url || '' },
return this.router.navigate([`/empty-registrar`, { nextUrl }]); ]);
} }
} }