Implement user-specific tutorial access and enhance authentication handling

This commit is contained in:
liosha84
2025-07-06 11:00:17 +03:00
parent 140de83d0a
commit 3fdb1b4640
18 changed files with 153 additions and 25 deletions
@@ -18,6 +18,9 @@ import {MatMenu, MatMenuItem, MatMenuTrigger} from '@angular/material/menu';
import {MatTooltip} from '@angular/material/tooltip';
import {DialogSignupComponent} from '../../components/dialog-signup.component/dialog-signup.component';
import {MatLabel} from '@angular/material/input';
import {HttpClient} from '@angular/common/http';
import { environment } from '../../../environments/environment';
@Component({
selector: 'app-main.component',
@@ -62,12 +65,13 @@ export class MainComponent implements OnInit{
eventBusSub?: Subscription;
private environment = environment;
private storageService: TokenStorageService = inject(TokenStorageService);
private authService: AuthService = inject(AuthService);
private eventBusService: EventBusService = inject(EventBusService);
constructor(private router: Router) {
constructor(private router: Router,private http: HttpClient) {
}
goToHome() {
@@ -136,7 +140,8 @@ export class MainComponent implements OnInit{
console.log(res);
this.storageService.clean();
window.location.reload();
//window.location.reload();
this.router.navigate([environment.default_page]);
},
error: err => {
console.log(err);
@@ -167,8 +172,9 @@ export class MainComponent implements OnInit{
this.dialogLoginData = result;
this.authService.login(this.dialogLoginData.username, this.dialogLoginData.password).subscribe(
data => {
this.storageService.saveToken(data.accessToken);
data => {
//this.storageService.saveToken(data.token);
this.storageService.saveUser(data);
this.isLoggedIn = true;
@@ -4,11 +4,12 @@ import {mainRouting} from './main.routing';
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {HTTP_INTERCEPTORS} from '@angular/common/http';
import {HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi} from '@angular/common/http';
import {CustomHttpInterceptor} from '../helpers/custom-http-interceptor';
import {AngularImageViewerModule} from '@hreimer/angular-image-viewer';
import {BrowserModule} from '@angular/platform-browser';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {authInterceptorProviders} from '../helpers/auth.interceptor';
@NgModule({
declarations: [
@@ -22,7 +23,7 @@ import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
],
exports: [RouterModule],
providers: [{
providers: [authInterceptorProviders,provideHttpClient(withInterceptorsFromDi()),{
provide: HTTP_INTERCEPTORS,
useClass: CustomHttpInterceptor,
multi: true