2025-11-06 10:20:00 +01:00
|
|
|
@using MudBlazor
|
2025-11-28 11:44:19 +01:00
|
|
|
@using DiunaBI.UI.Shared.Services
|
|
|
|
|
@inject AppConfig AppConfig
|
2025-12-04 22:20:00 +01:00
|
|
|
@inject EntityChangeHubService HubService
|
2025-11-06 10:20:00 +01:00
|
|
|
@inherits LayoutComponentBase
|
|
|
|
|
|
|
|
|
|
<AuthGuard>
|
2025-11-20 21:03:19 +01:00
|
|
|
<MudThemeProvider Theme="_theme"/>
|
2025-12-01 13:21:45 +01:00
|
|
|
<MudPopoverProvider/>
|
2025-11-06 10:20:00 +01:00
|
|
|
<MudDialogProvider/>
|
|
|
|
|
<MudSnackbarProvider/>
|
|
|
|
|
|
|
|
|
|
<MudLayout>
|
|
|
|
|
<MudBreakpointProvider OnBreakpointChanged="OnBreakpointChanged"></MudBreakpointProvider>
|
|
|
|
|
<MudAppBar Elevation="0">
|
|
|
|
|
<MudIconButton
|
|
|
|
|
Icon="@Icons.Material.Filled.Menu"
|
|
|
|
|
Color="Color.Inherit"
|
|
|
|
|
Edge="Edge.Start"
|
|
|
|
|
OnClick="ToggleDrawer"
|
|
|
|
|
Class="mud-hidden-md-up"/>
|
|
|
|
|
<MudSpacer/>
|
2025-11-28 11:44:19 +01:00
|
|
|
<MudText Typo="Typo.h6">@AppConfig.AppName</MudText>
|
2025-11-06 10:20:00 +01:00
|
|
|
</MudAppBar>
|
|
|
|
|
|
|
|
|
|
<MudDrawer @bind-Open="_drawerOpen"
|
|
|
|
|
Anchor="Anchor.Start"
|
|
|
|
|
Variant="@_drawerVariant"
|
|
|
|
|
Elevation="1"
|
|
|
|
|
ClipMode="DrawerClipMode.Always"
|
|
|
|
|
Class="mud-width-250">
|
2025-11-28 12:13:19 +01:00
|
|
|
<div class="nav-logo" style="text-align: center; padding: 20px;">
|
|
|
|
|
<a href="https://www.diunabi.com" target="_blank">
|
|
|
|
|
<img src="_content/DiunaBI.UI.Shared/images/logo.png" alt="DiunaBI" style="max-width: 180px; height: auto;" />
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
2025-11-06 10:20:00 +01:00
|
|
|
<MudNavMenu>
|
|
|
|
|
<MudNavLink Href="/dashboard" Icon="@Icons.Material.Filled.Dashboard">Dashboard</MudNavLink>
|
2025-11-19 18:51:09 +01:00
|
|
|
<MudNavLink Href="/layers" Icon="@Icons.Material.Filled.Inventory">Layers</MudNavLink>
|
2025-12-01 12:55:47 +01:00
|
|
|
<MudNavLink Href="/datainbox" Icon="@Icons.Material.Filled.Inbox">Data Inbox</MudNavLink>
|
2025-12-03 13:33:38 +01:00
|
|
|
<MudNavLink Href="/jobs" Icon="@Icons.Material.Filled.WorkHistory">Jobs</MudNavLink>
|
2025-11-06 10:20:00 +01:00
|
|
|
</MudNavMenu>
|
|
|
|
|
</MudDrawer>
|
|
|
|
|
|
|
|
|
|
<MudMainContent>
|
|
|
|
|
<MudContainer MaxWidth="MaxWidth.ExtraExtraLarge" Class="my-4">
|
|
|
|
|
@Body
|
|
|
|
|
</MudContainer>
|
|
|
|
|
</MudMainContent>
|
|
|
|
|
</MudLayout>
|
|
|
|
|
</AuthGuard>
|
|
|
|
|
|
|
|
|
|
@code {
|
|
|
|
|
|
|
|
|
|
private bool _drawerOpen = true;
|
|
|
|
|
private DrawerVariant _drawerVariant = DrawerVariant.Persistent;
|
|
|
|
|
|
2025-12-04 22:20:00 +01:00
|
|
|
protected override async Task OnInitializedAsync()
|
|
|
|
|
{
|
|
|
|
|
// Initialize SignalR connection when layout loads
|
|
|
|
|
await HubService.InitializeAsync();
|
|
|
|
|
}
|
|
|
|
|
|
2025-11-20 21:03:19 +01:00
|
|
|
private MudTheme _theme = new MudTheme()
|
|
|
|
|
{
|
|
|
|
|
PaletteLight = new PaletteLight()
|
|
|
|
|
{
|
|
|
|
|
Primary = "#e7163d",
|
|
|
|
|
PrimaryDarken = "#c01234",
|
|
|
|
|
PrimaryLighten = "#f04366",
|
|
|
|
|
Secondary = "#424242",
|
|
|
|
|
AppbarBackground = "#e7163d",
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2025-11-06 10:20:00 +01:00
|
|
|
void ToggleDrawer()
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"ToogleDrawer clickkk {DateTime.Now}");
|
|
|
|
|
_drawerOpen = !_drawerOpen;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnBreakpointChanged(Breakpoint breakpoint)
|
|
|
|
|
{
|
|
|
|
|
if (breakpoint < Breakpoint.Md)
|
|
|
|
|
{
|
|
|
|
|
_drawerVariant = DrawerVariant.Temporary;
|
|
|
|
|
_drawerOpen = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
_drawerVariant = DrawerVariant.Persistent;
|
|
|
|
|
_drawerOpen = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
StateHasChanged();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|