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

36 lines
1001 B
Plaintext

@using Elsa.Studio.Contracts
@using System.Globalization
@inherits LayoutComponentBase
@implements IDisposable
@inject IThemeService ThemeService
<link href="_content/Elsa.Studio.Shell/css/custom.css" rel="stylesheet">
<MudRTLProvider RightToLeft="@IsRtl(CultureInfo.CurrentUICulture)">
<MudThemeProvider Theme="CurrentTheme" IsDarkMode="@true" />
<MudSnackbarProvider />
<MudPopoverProvider />
<MudLayout>
@Body
</MudLayout>
</MudRTLProvider>
@code {
private MudTheme CurrentTheme => ThemeService.CurrentTheme;
protected override void OnInitialized()
{
ThemeService.CurrentThemeChanged += OnThemeChanged;
StateHasChanged();
}
public void Dispose()
{
ThemeService.CurrentThemeChanged -= OnThemeChanged;
}
private void OnThemeChanged() => StateHasChanged();
private static bool IsRtl(CultureInfo culture)
=> culture?.TwoLetterISOLanguageName == "fa" || culture?.TextInfo?.IsRightToLeft == true;
}