AI-Studio/app/MindWork AI Studio/Layout/MainLayout.razor

77 lines
4.4 KiB
Plaintext
Raw Normal View History

@using AIStudio.Settings.DataModel
2024-08-21 06:30:01 +00:00
@using Microsoft.AspNetCore.Components.Routing
@using MudBlazor
2024-07-24 13:17:45 +00:00
@inherits LayoutComponentBase
2024-03-28 21:26:48 +00:00
2024-04-21 13:22:02 +00:00
<MudPaper Height="calc(100vh);" Elevation="0">
<MudLayout>
2024-06-30 13:26:28 +00:00
@if (!this.performingUpdate)
{
@if (this.SettingsManager.ConfigurationData.App.NavigationBehavior is NavBehavior.EXPAND_ON_HOVER or NavBehavior.ALWAYS_EXPAND)
{
<MudDrawerContainer Class="mud-height-full absolute">
<MudDrawer @bind-Open="@this.navBarOpen" MiniWidth="@NAVBAR_COLLAPSED_WIDTH" Width="@NAVBAR_EXPANDED_WIDTH" Elevation="1" Fixed="@true" Variant="@DrawerVariant.Mini" OpenMiniOnHover="@(this.SettingsManager.ConfigurationData.App.NavigationBehavior is NavBehavior.EXPAND_ON_HOVER)" Color="Color.Default">
<MudNavMenu>
@foreach (var navBarItem in this.navItems)
{
<MudNavLink Href="@navBarItem.Path" Match="@(navBarItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@navBarItem.Icon" Style="@navBarItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color">@navBarItem.Name</MudNavLink>
}
</MudNavMenu>
</MudDrawer>
</MudDrawerContainer>
}
else
{
<MudPaper Width="4em" Class="mud-height-full absolute">
2024-06-30 13:26:28 +00:00
<MudNavMenu>
@foreach (var navBarItem in this.navItems)
2024-07-24 13:17:45 +00:00
{
2024-08-05 19:12:52 +00:00
if (this.SettingsManager.ConfigurationData.App.NavigationBehavior is NavBehavior.NEVER_EXPAND_USE_TOOLTIPS)
2024-07-24 13:17:45 +00:00
{
<MudTooltip Text="@navBarItem.Name" Placement="Placement.Right">
<MudNavLink Href="@navBarItem.Path" Match="@(navBarItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@navBarItem.Icon" Style="@navBarItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color"/>
2024-07-24 13:17:45 +00:00
</MudTooltip>
}
else
{
<MudNavLink Href="@navBarItem.Path" Match="@(navBarItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@navBarItem.Icon" Style="@navBarItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color"/>
2024-07-24 13:17:45 +00:00
}
}
2024-06-30 13:26:28 +00:00
</MudNavMenu>
</MudPaper>
}
2024-06-30 13:26:28 +00:00
}
2024-03-28 21:26:48 +00:00
2024-07-24 13:17:45 +00:00
<MudMainContent Class="mud-height-full pt-1" Style="@this.PaddingLeft">
<MudContainer MaxWidth="MaxWidth.ExtraExtraLarge" Class="mud-height-full" Style="margin-left: 5em; width: calc(100% - 5em);">
2024-06-30 13:26:28 +00:00
@if (!this.performingUpdate && this.IsUpdateAlertVisible)
{
<MudAlert NoIcon="@true" Severity="Severity.Info" Variant="Variant.Filled" ShowCloseIcon="@true" Dense="@true" CloseIconClicked="() => this.DismissUpdate()" Class="mt-2 mb-2">
<div class="d-inline-flex align-center">
<MudIcon Icon="@Icons.Material.Filled.Update" Size="Size.Medium" Class="mr-3"/>
An update to version @this.updateToVersion is available.
<MudButton Variant="Variant.Filled" Color="Color.Dark" Size="Size.Small" Class="ml-3" OnClick="() => this.ShowUpdateDialog()">
Show details
</MudButton>
</div>
</MudAlert>
}
@if (!this.performingUpdate)
{
<CascadingValue Value="@this" IsFixed="true">
@this.Body
</CascadingValue>
}
<MudOverlay Visible="@this.performingUpdate" DarkBackground="@true" LockScroll="@true">
<MudText Typo="Typo.h3">Please wait for the update to complete...</MudText>
<MudProgressLinear Color="Color.Primary" Indeterminate="@true" Size="Size.Large" Rounded="@true"/>
</MudOverlay>
2024-04-21 13:22:02 +00:00
</MudContainer>
</MudMainContent>
</MudLayout>
</MudPaper>
<MudThemeProvider @ref="@this.themeProvider" Theme="@this.ColorTheme" IsDarkMode="@this.useDarkMode" />