import { Component, ElementRef, HostListener, ViewChild } from '@angular/core'; @Component({ selector: 'app-header', imports: [], templateUrl: './header.html', styleUrl: './header.css', }) export class Header { isMenuOpen = false; @ViewChild('menuContainer') menuContainer!: ElementRef; toggleMenu(): void { this.isMenuOpen = !this.isMenuOpen; } closeMenu(): void { this.isMenuOpen = false; } scrollTo(id: string): void { document.getElementById(id)?.scrollIntoView({ behavior: 'smooth' }); } @HostListener('document:click', ['$event']) onDocumentClick(event: MouseEvent): void { if (!this.isMenuOpen) { return; } const clickedInside = this.menuContainer.nativeElement.contains( event.target, ); if (!clickedInside) { this.closeMenu(); } } }