import { Component, HostListener, ElementRef, ChangeDetectionStrategy } from '@angular/core'; import { LanguageService, Language } from '../../services/language.service'; @Component({ selector: 'app-language-selector', imports: [], templateUrl: './language-selector.component.html', styleUrls: ['./language-selector.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush }) export class LanguageSelectorComponent { dropdownOpen = false; constructor( public languageService: LanguageService, private elementRef: ElementRef ) {} toggleDropdown(): void { this.dropdownOpen = !this.dropdownOpen; } selectLanguage(lang: Language): void { if (lang.enabled) { this.languageService.switchLanguage(lang.code); this.dropdownOpen = false; } } closeDropdown(): void { this.dropdownOpen = false; } @HostListener('document:click', ['$event']) onClickOutside(event: Event): void { if (!this.elementRef.nativeElement.contains(event.target)) { this.dropdownOpen = false; } } }