2024-12-18 14:50:36 +01:00
|
|
|
import {Location} from '@angular/common';
|
2024-12-18 13:54:40 +01:00
|
|
|
import {Component, OnInit} from '@angular/core';
|
|
|
|
import {MatAnchor, MatButton} from '@angular/material/button';
|
|
|
|
import {MatIcon} from '@angular/material/icon';
|
|
|
|
import {MatToolbar} from '@angular/material/toolbar';
|
|
|
|
import {Router, RouterLink} from '@angular/router';
|
|
|
|
|
|
|
|
@Component({
|
|
|
|
selector: 'app-header',
|
|
|
|
imports: [
|
|
|
|
MatToolbar,
|
|
|
|
MatAnchor,
|
|
|
|
RouterLink,
|
|
|
|
MatIcon,
|
|
|
|
MatButton,
|
|
|
|
],
|
|
|
|
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,
|
|
|
|
private location: Location
|
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
|
|
|
}));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|