@inherits LayoutComponentBase
@implements IDisposable
@using System.Security.Claims
@inject TrafagSalesExporter.Services.IUiTextService UiText
@T("Trafag Finanze/Sales Management Cockpit", "Trafag Finance/Sales Management Cockpit")
DE
EN
@ShortName(authState.User)
@Body
@code {
private bool _drawerOpen = true;
private readonly MudTheme _theme = new()
{
PaletteLight = new PaletteLight
{
Primary = "#B71C1C",
Secondary = "#7F1D1D",
AppbarBackground = "#B71C1C"
}
};
protected override void OnInitialized()
{
UiText.Changed += HandleLanguageChanged;
}
private void ToggleDrawer() => _drawerOpen = !_drawerOpen;
private void ChangeLanguage(string language)
{
UiText.SetLanguage(language);
}
private void HandleLanguageChanged()
{
InvokeAsync(StateHasChanged);
}
private string T(string german, string english) => UiText.Text(german, english);
private static string ShortName(ClaimsPrincipal user)
{
var name = user.Identity?.Name ?? string.Empty;
var separator = name.LastIndexOf('\\');
return separator >= 0 && separator < name.Length - 1 ? name[(separator + 1)..] : name;
}
public void Dispose()
{
UiText.Changed -= HandleLanguageChanged;
}
}