diff --git a/src/app/component/auth/login/login.component.ts b/src/app/component/auth/login/login.component.ts index 2b92580..3f38bc0 100644 --- a/src/app/component/auth/login/login.component.ts +++ b/src/app/component/auth/login/login.component.ts @@ -1,4 +1,4 @@ -import { Component, inject, OnInit } from '@angular/core'; +import { Component, inject } from '@angular/core'; import { FormBuilder, FormGroup, @@ -6,7 +6,7 @@ import { Validators, } from '@angular/forms'; import AuthService from '../../../service/auth.service'; -import { AuthResponse, Token } from '../../../models'; +import { AuthResponse } from '../../../models'; import { ActivatedRoute, Router } from '@angular/router'; @Component({ @@ -14,7 +14,7 @@ import { ActivatedRoute, Router } from '@angular/router'; imports: [ReactiveFormsModule], templateUrl: './login.component.html', }) -export default class LoginComponent implements OnInit { +export default class LoginComponent { fb: FormBuilder = inject(FormBuilder); authService: AuthService = inject(AuthService); router: Router = inject(Router); @@ -25,12 +25,6 @@ export default class LoginComponent implements OnInit { password: [null, [Validators.required]], }); - returnUrl: string | undefined; - - ngOnInit(): void { - this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/dashboard'; - } - login() { if (this.form.invalid) { console.log(this.form.errors); @@ -41,7 +35,10 @@ export default class LoginComponent implements OnInit { localStorage.setItem('access_token', r.accessToken); localStorage.setItem('refresh_token', r.refreshToken); - this.router.navigate([this.returnUrl]); + const returnUrl = + this.route.snapshot.queryParams['returnUrl'] || '/dashboard'; + + this.router.navigate([returnUrl]); }); } } diff --git a/src/app/service/auth.guard.ts b/src/app/service/auth.guard.ts index c0f4d0e..10f32ec 100644 --- a/src/app/service/auth.guard.ts +++ b/src/app/service/auth.guard.ts @@ -22,6 +22,7 @@ export const authGuard: CanActivateFn = (route, state) => { console.log(err); router.navigate(['/auth/login'], { queryParams: { returnUrl: state.url }, + skipLocationChange: true, }); return of(false); }),