import { Component, inject, signal } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RouterOutlet, RouterLink, Router } from '@angular/router'; import { NzLayoutModule } from 'ng-zorro-antd/layout'; import { NzMenuModule } from 'ng-zorro-antd/menu'; import { NzIconModule } from 'ng-zorro-antd/icon'; import { NzButtonModule } from 'ng-zorro-antd/button'; import { NzDropDownModule } from 'ng-zorro-antd/dropdown'; import { AuthService } from '../../core/services/auth.service'; @Component({ selector: 'app-main-layout', standalone: true, imports: [ CommonModule, RouterOutlet, RouterLink, NzLayoutModule, NzMenuModule, NzIconModule, NzButtonModule, NzDropDownModule, ], templateUrl: './main-layout.component.html', styleUrl: './main-layout.component.scss' }) export class MainLayoutComponent { private authService = inject(AuthService); private router = inject(Router); isCollapsed = signal(false); userId = this.authService.getUserId(); toggleCollapsed(): void { this.isCollapsed.update(v => !v); } logout(): void { this.authService.logout(); this.router.navigate(['/login']); } }