@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"
};
}
}