mirror of
https://github.com/unclshura/BlazorOpenApi.git
synced 2025-12-21 18:01:53 +00:00
55 lines
1.9 KiB
Plaintext
55 lines
1.9 KiB
Plaintext
@inherits LayoutComponentBase
|
|
|
|
<MudThemeProvider @ref="@_mudThemeProvider" @bind-IsDarkMode="@IsDarkMode" />
|
|
<MudDialogProvider />
|
|
<MudSnackbarProvider />
|
|
|
|
<MudLayout>
|
|
<MudAppBar Elevation="0">
|
|
<MudIconButton Icon="@Icons.Material.Filled.Menu" Color="Color.Inherit" Edge="Edge.Start" OnClick="@((e) => DrawerToggle())" />
|
|
<MudSpacer />
|
|
<MudIconButton Icon="@Icons.Custom.Brands.MudBlazor" Color="Color.Inherit" Href="https://mudblazor.com/" Target="_blank" />
|
|
<MudIconButton Icon="@Icons.Custom.Brands.GitHub" Color="Color.Inherit" Href="https://github.com/MudBlazor/MudBlazor/" Target="_blank" />
|
|
</MudAppBar>
|
|
<MudDrawer @bind-Open="_drawerOpen" Elevation="1">
|
|
<MudDrawerHeader>
|
|
<MudText Typo="Typo.h6">OpenApiUI Demo</MudText>
|
|
</MudDrawerHeader>
|
|
<NavMenu />
|
|
<div class="d-flex justify-left align-end mud-height-full">
|
|
<MudSwitch @bind-Value="@IsDarkMode" Color="MudBlazor.Color.Primary" Class="ma-4" T="bool" Label="Dark Mode" />
|
|
</div>
|
|
</MudDrawer>
|
|
<MudMainContent>
|
|
<CascadingValue Value="@IsDarkMode">
|
|
<MudContainer MaxWidth="MaxWidth.ExtraExtraLarge" Class="pt-2">
|
|
@Body
|
|
</MudContainer>
|
|
</CascadingValue>
|
|
</MudMainContent>
|
|
</MudLayout>
|
|
|
|
@code {
|
|
bool _drawerOpen = true;
|
|
private bool IsDarkMode;
|
|
private MudThemeProvider? _mudThemeProvider;
|
|
|
|
void DrawerToggle() => _drawerOpen = !_drawerOpen;
|
|
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
if (firstRender)
|
|
{
|
|
IsDarkMode = await _mudThemeProvider!.GetSystemPreference();
|
|
await _mudThemeProvider.WatchSystemPreference(OnSystemPreferenceChanged);
|
|
StateHasChanged();
|
|
}
|
|
}
|
|
|
|
private async Task OnSystemPreferenceChanged(bool newValue)
|
|
{
|
|
IsDarkMode = newValue;
|
|
await InvokeAsync(StateHasChanged);
|
|
}
|
|
|
|
} |