Files
NidoAi/frontend/nursery-app/src/app/app.component.ts
2026-03-07 00:15:59 +01:00

65 lines
2.0 KiB
TypeScript

import { Component, ViewChild } from '@angular/core';
import { RouterLink, RouterOutlet } from '@angular/router';
import { MatSidenav, MatSidenavModule } from '@angular/material/sidenav';
import { MatListModule } from '@angular/material/list';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatIconModule } from '@angular/material/icon';
import { MatButtonModule } from '@angular/material/button';
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
import { Observable } from 'rxjs';
import { map, shareReplay } from 'rxjs/operators';
import { CommonModule } from '@angular/common';
import { AuthService } from './services/auth.service'; // Importa AuthService
@Component({
selector: 'app-root',
imports: [
CommonModule,
RouterOutlet,
RouterLink,
MatSidenavModule,
MatListModule,
MatToolbarModule,
MatIconModule,
MatButtonModule
],
standalone: true, // Assicurati che sia standalone
templateUrl: './app.component.html',
styleUrl: './app.component.scss',
})
export class AppComponent {
title = 'Nursery Management';
@ViewChild('drawer') drawer!: MatSidenav;
isHandset$: Observable<boolean>;
menuItems = [
{ name: 'Insegnanti', icon: 'school', route: '/teachers' },
{ name: 'Anni Scolastici', icon: 'calendar_today', route: '/school-years' },
{ name: 'Contratti Insegnanti', icon: 'description', route: '/contracts' },
{ name: 'Strutture', icon: 'business', route: '/structures' },
{ name: 'Bambini', icon: 'child_care', route: '/children' },
{ name: 'Definizione Turni', icon: 'schedule', route: '/shifts' }
];
constructor(
private breakpointObserver: BreakpointObserver,
public authService: AuthService
) {
this.isHandset$ = this.breakpointObserver.observe(Breakpoints.Handset)
.pipe(
map(result => result.matches),
shareReplay()
);
}
toggleDrawer(): void {
this.isHandset$.subscribe(isHandset => {
if (isHandset) {
this.drawer.toggle();
}
});
}
}