EMS/src/app/header/header.component.ts

48 lines
1.3 KiB
TypeScript
Raw Normal View History

2024-12-18 16:17:44 +01:00
import {AsyncPipe, Location, TitleCasePipe} from '@angular/common';
2024-12-18 13:54:40 +01:00
import {Component, OnInit} from '@angular/core';
2024-12-18 16:17:44 +01:00
import {MatAnchor, MatButton, MatIconButton} from '@angular/material/button';
2024-12-18 13:54:40 +01:00
import {MatIcon} from '@angular/material/icon';
import {MatToolbar} from '@angular/material/toolbar';
import {Router, RouterLink} from '@angular/router';
2024-12-18 16:17:44 +01:00
import {AuthService} from '@core/auth/auth.service';
2024-12-18 13:54:40 +01:00
@Component({
selector: 'app-header',
imports: [
MatToolbar,
MatAnchor,
RouterLink,
MatIcon,
MatButton,
2024-12-18 16:17:44 +01:00
MatIconButton,
AsyncPipe,
TitleCasePipe,
2024-12-18 13:54:40 +01:00
],
templateUrl: './header.component.html',
styleUrl: './header.component.scss'
})
export class HeaderComponent implements OnInit {
routes: Array<{ path: string, title: string, class: string }> = [];
constructor(
2024-12-18 14:50:36 +01:00
private router: Router,
2024-12-18 16:17:44 +01:00
private location: Location,
protected auth: AuthService
2024-12-18 13:54:40 +01:00
) {
}
ngOnInit(): void {
this.routes = this.router.config
.filter(route => !route.path?.includes(':'))
.filter(route => !route.path?.includes('/'))
.map(route => ({
path: `/${route.path}`,
title: route.title as string,
2024-12-18 14:50:36 +01:00
class: `/${route.path}` == (this.location.path() || '/') ? 'active' : ''
2024-12-18 13:54:40 +01:00
}));
}
}