Add finance details export and translations

This commit is contained in:
2026-05-21 09:47:59 +02:00
parent b2ede7f8fd
commit 16449f1dc1
11 changed files with 890 additions and 28 deletions
@@ -12,18 +12,30 @@
<MudAppBar Elevation="1" Color="Color.Primary">
<MudIconButton Icon="@Icons.Material.Filled.Menu" Color="Color.Inherit" Edge="Edge.Start"
OnClick="ToggleDrawer" />
<MudText Typo="Typo.h6" Class="ml-3 app-title">@T("Trafag Finanze/Sales Management Cockpit", "Trafag Finance/Sales Management Cockpit")</MudText>
<MudText Typo="Typo.h6" Class="ml-3 app-title">@T("Trafag Finance/Sales Management Cockpit", "Trafag Finance/Sales Management Cockpit")</MudText>
<MudSpacer />
<MudSelect T="string"
Value="@UiText.CurrentLanguage"
ValueChanged="ChangeLanguage"
Dense
Variant="Variant.Outlined"
Class="mr-3"
Style="min-width:100px; color:white;">
<MudSelectItem Value="@("de")">DE</MudSelectItem>
<MudSelectItem Value="@("en")">EN</MudSelectItem>
</MudSelect>
<MudMenu Class="mr-3 language-menu"
AnchorOrigin="Origin.BottomRight"
TransformOrigin="Origin.TopRight"
Dense>
<ActivatorContent>
<MudButton Variant="Variant.Outlined"
Color="Color.Inherit"
Size="Size.Small"
StartIcon="@Icons.Material.Filled.Translate"
EndIcon="@Icons.Material.Filled.ExpandMore"
Class="language-button">
@LanguageLabel
</MudButton>
</ActivatorContent>
<ChildContent>
<MudMenuItem OnClick="@(() => ChangeLanguage("de"))">Deutsch</MudMenuItem>
<MudMenuItem OnClick="@(() => ChangeLanguage("en"))">English</MudMenuItem>
<MudMenuItem OnClick="@(() => ChangeLanguage("es"))">Español</MudMenuItem>
<MudMenuItem OnClick="@(() => ChangeLanguage("it"))">Italiano</MudMenuItem>
<MudMenuItem OnClick="@(() => ChangeLanguage("hi"))">हिन्दी</MudMenuItem>
</ChildContent>
</MudMenu>
<AuthorizeView>
<Authorized Context="authState">
<MudText Typo="Typo.caption" Class="mr-3">@ShortName(authState.User)</MudText>
@@ -71,6 +83,8 @@
InvokeAsync(StateHasChanged);
}
private string LanguageLabel => UiText.CurrentLanguage.ToUpperInvariant();
private string T(string german, string english) => UiText.Text(german, english);
private static string ShortName(ClaimsPrincipal user)
@@ -1,4 +1,5 @@
@using TrafagSalesExporter.Security
@implements IDisposable
@inject TrafagSalesExporter.Services.IUiTextService UiText
@inject TrafagSalesExporter.Services.IFinanceCockpitAccessService FinanceAccess
@inject IConfiguration Configuration
@@ -58,11 +59,26 @@
@code {
private bool ShowFinanceComparison => Configuration.GetValue("Navigation:ShowFinanceComparison", true);
protected override void OnInitialized()
{
UiText.Changed += HandleLanguageChanged;
}
private void LockFinanceCockpit()
{
FinanceAccess.Lock();
Navigation.NavigateTo("/");
}
private void HandleLanguageChanged()
{
InvokeAsync(StateHasChanged);
}
private string T(string german, string english) => UiText.Text(german, english);
public void Dispose()
{
UiText.Changed -= HandleLanguageChanged;
}
}