import { Component, HostListener, ElementRef } from '@angular/core'; import { CommonModule } from '@angular/common'; import { LanguageService, Language } from '../../services/language.service'; @Component({ selector: 'app-language-selector', standalone: true, imports: [CommonModule], templateUrl: './language-selector.component.html', styleUrls: ['./language-selector.component.scss'] }) 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.setLanguage(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; } } }