@implements IDisposable @inject LocalizationService Loc
@if (isOpen) {
@foreach (var lang in LocalizationService.AvailableLanguages) { }
}
@if (isOpen) {
} @code { private bool isOpen = false; protected override void OnInitialized() { Loc.OnLanguageChanged += OnLanguageChanged; } private void ToggleDropdown() => isOpen = !isOpen; private void CloseDropdown() => isOpen = false; private async Task SelectLanguage(string code) { isOpen = false; await Loc.SetLanguageAsync(code); } private void OnLanguageChanged() => InvokeAsync(StateHasChanged); public void Dispose() { Loc.OnLanguageChanged -= OnLanguageChanged; } }