Files
Caspian.Elsa.Studio/src/framework/Elsa.Studio.Shared/Layouts/MainLayout.razor
T

71 lines
2.9 KiB
Plaintext

@using System.Globalization
@inherits LayoutComponentBase
<link href="_content/Elsa.Studio.Shell/css/custom.css" rel="stylesheet">
<link href="_content/Elsa.Studio.Shell/css/fontiran.css" rel="stylesheet">
<link href="_content/Elsa.Studio.Shell/css/fontstyle.css" rel="stylesheet">
<MudRTLProvider RightToLeft="@IsRtl(CultureInfo.CurrentUICulture)">
<MudThemeProvider IsDarkMode="@IsDarkMode" Theme="CurrentTheme" />
<MudPopoverProvider />
<MudDialogProvider />
<MudSnackbarProvider />
<MudLayout>
<MudAppBar Elevation="0" Color="Color.Inherit">
<MudIconButton Icon="@Icons.Material.Filled.Menu" Color="Color.Inherit" Edge="Edge.Start" OnClick="@DrawerToggle" />
<MudSpacer />
@foreach (var appBarItem in AppBarService.AppBarItems)
{
@appBarItem
}
@* <MudIconButton Icon="@Icons.Material.Outlined.Book" Color="Color.Inherit" Href="https://v3.elsaworkflows.io/" Target="_blank" Title="Documentation"/>
<MudIconButton Icon="@Icons.Custom.Brands.GitHub" Color="Color.Inherit" Href="https://github.com/elsa-workflows/elsa-core" Target="_blank" Title="Source code"/> *@
@if (IsDarkMode)
{
<MudToggleIconButton Icon="@Icons.Material.Outlined.LightMode" Color="Color.Inherit" @onclick="@ToggleDarkMode"></MudToggleIconButton>
}
else
{
<MudToggleIconButton Icon="@Icons.Material.Outlined.DarkMode" Color="Color.Inherit" @onclick="@ToggleDarkMode"></MudToggleIconButton>
}
<MudIconButton Icon="@Icons.Material.Outlined.Info" Color="Color.Inherit" @onclick="@ShowProductInfo" />
</MudAppBar>
<MudDrawer @bind-Open="_drawerOpen" Elevation="0" ClipMode="DrawerClipMode.Always">
<MudDrawerHeader>
@BrandingProvider.Branding
</MudDrawerHeader>
<div class="mt-10">
<NavMenu />
</div>
</MudDrawer>
<MudMainContent>
<ErrorBoundary @ref="@_errorBoundary">
<ChildContent>
@Body
</ChildContent>
<ErrorContent>
@if (context is UnauthorizedAccessException)
{
@UnauthorizedComponent
}
else
{
<Well>
<MudAlert Severity="Severity.Error" Variant="Variant.Filled">
@context.GetType().Name: @context.Message
</MudAlert>
</Well>
}
</ErrorContent>
</ErrorBoundary>
</MudMainContent>
</MudLayout>
</MudRTLProvider>
@code {
private static bool IsRtl(CultureInfo culture)
=> culture?.TwoLetterISOLanguageName == "fa" || culture?.TextInfo?.IsRightToLeft == true;
}