96 lines
4.3 KiB
Plaintext
96 lines
4.3 KiB
Plaintext
@using TrafagSalesExporter.Security
|
|
@implements IDisposable
|
|
@inject TrafagSalesExporter.Services.IUiTextService UiText
|
|
@inject TrafagSalesExporter.Services.IFinanceCockpitAccessService FinanceAccess
|
|
@inject IConfiguration Configuration
|
|
@inject NavigationManager Navigation
|
|
|
|
<MudNavMenu>
|
|
<MudNavGroup Title="@T("Finance Cockpit", "Finance Cockpit")" Icon="@Icons.Material.Filled.Analytics" Expanded="true">
|
|
<MudNavLink Href="/export-dashboard" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.Dashboard">
|
|
@T("Export Dashboard", "Export dashboard")
|
|
</MudNavLink>
|
|
<MudNavLink Href="/management-cockpit" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.QueryStats">
|
|
@T("Management Analyse", "Management analysis")
|
|
</MudNavLink>
|
|
@if (ShowFinanceComparison)
|
|
{
|
|
<MudNavLink Href="/finance-cockpit/vergleich" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.CompareArrows">
|
|
@T("Soll/Ist Vergleich", "Actual/reference comparison")
|
|
</MudNavLink>
|
|
}
|
|
<MudNavLink Href="/finance-cockpit/schulung" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.School">
|
|
@T("Finance Schulung", "Finance training")
|
|
</MudNavLink>
|
|
<MudNavLink Href="/manual-imports" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.UploadFile">
|
|
@T("Manuelle Importe", "Manual imports")
|
|
</MudNavLink>
|
|
<MudNavGroup Title="@T("Admin", "Admin")" Icon="@Icons.Material.Filled.AdminPanelSettings">
|
|
<AuthorizeView Policy="@SecurityPolicies.AdminOnly">
|
|
<Authorized>
|
|
<MudNavLink Href="/standorte" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.LocationOn">
|
|
@T("Standorte", "Sites")
|
|
</MudNavLink>
|
|
<MudNavLink Href="/transformations" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.Transform">
|
|
@T("Transformationen", "Transformations")
|
|
</MudNavLink>
|
|
<MudNavLink Href="/finance-rules" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.Rule">
|
|
@T("Finance Regeln", "Finance rules")
|
|
</MudNavLink>
|
|
<MudNavLink Href="/settings" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.Settings">
|
|
@T("Settings", "Settings")
|
|
</MudNavLink>
|
|
</Authorized>
|
|
</AuthorizeView>
|
|
<MudNavLink Href="/logs" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.List">
|
|
@T("Logs", "Logs")
|
|
</MudNavLink>
|
|
</MudNavGroup>
|
|
@if (FinanceAccess.IsEnabled && FinanceAccess.IsUnlocked)
|
|
{
|
|
<MudButton Variant="Variant.Text" Color="Color.Secondary" Size="Size.Small"
|
|
StartIcon="@Icons.Material.Filled.Lock" OnClick="LockFinanceCockpit" Class="ml-3">
|
|
@T("Finance sperren", "Lock finance")
|
|
</MudButton>
|
|
}
|
|
</MudNavGroup>
|
|
<MudNavGroup Title="@T("HR KPI (Login)", "HR KPI (login)")" Icon="@Icons.Material.Filled.Groups">
|
|
<MudNavLink Href="/hr-kpi" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Dashboard">
|
|
@T("HR Dashboard", "HR dashboard")
|
|
</MudNavLink>
|
|
<MudNavLink Href="/hr-kpi/schulung" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.School">
|
|
@T("HR KPI Schulung", "HR KPI training")
|
|
</MudNavLink>
|
|
</MudNavGroup>
|
|
<MudNavLink Href="/admin/sessions" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.PeopleAlt">
|
|
@T("Admin Bereich", "Admin area")
|
|
</MudNavLink>
|
|
</MudNavMenu>
|
|
|
|
@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;
|
|
}
|
|
}
|