@using System.Globalization @using EnvelopeGenerator.ReceiverUI.Services @inject IJSRuntime JSRuntime @inject NavigationManager Navigation @inject CultureService CultureService
@if (isOpen) {
}
@code { private bool isOpen = false; private string CurrentCulture => CultureInfo.CurrentCulture.Name; private void ToggleDropdown() { isOpen = !isOpen; } private async Task ChangeLanguageAsync(string culture) { if (CultureInfo.CurrentCulture.Name != culture) { await CultureService.SetCultureAsync(culture); Navigation.NavigateTo(Navigation.Uri, forceLoad: true); } isOpen = false; } private string GetFlagCode(string culture) { return culture switch { "de-DE" => "de", "en-US" => "us", "fr-FR" => "fr", _ => "de" }; } private string GetLanguageName(string culture) { return culture switch { "de-DE" => "Deutsch", "en-US" => "English", "fr-FR" => "Français", _ => "Deutsch" }; } }