129 lines
4.6 KiB
Plaintext
129 lines
4.6 KiB
Plaintext
@using Netina.AdminPanel.PWA.Pages
|
|
@using Radzen.Blazor
|
|
@using Netina.AdminPanel.PWA.Models
|
|
|
|
@inherits LayoutComponentBase
|
|
@inject IPWAUpdaterService PwaUpdaterService
|
|
@inject NavigationManager NavigationManager
|
|
@inject IUserUtility UserUtility
|
|
@inject IJSRuntime Js
|
|
<style>
|
|
body .pwa-updater[b-pwa-updater] {
|
|
--pwa-updater-bar-height: 40px;
|
|
--pwa-updater-font-size: 16px;
|
|
--pwa-updater-bar-color: rgba(253, 216, 53, 1);
|
|
--pwa-updater-bar-backcolor: #444;
|
|
padding-top: 35px;
|
|
padding-right: 10px;
|
|
padding-bottom: 35px;
|
|
padding-left: 10px;
|
|
}
|
|
|
|
body .pwa-updater-updatenow-button {
|
|
border: dashed 2px rgba(253, 216, 53, 1) !important;
|
|
font-family: iranyekan !important;
|
|
font-weight: 800 !important;
|
|
}
|
|
|
|
body .pwa-updater-close-button {
|
|
color: #fff !important;
|
|
}
|
|
</style>
|
|
|
|
|
|
<AuthorizeView>
|
|
<Authorized>
|
|
|
|
<MudRTLProvider RightToLeft="true">
|
|
<MudThemeProvider IsDarkMode="@MainTheme.IsDarkMode" Theme="@MainTheme.MyCustomTheme" />
|
|
<MudDialogProvider />
|
|
<MudSnackbarProvider />
|
|
<MudLayout>
|
|
<MudAppBar class="py-2" Color="Color.Transparent" Fixed="false" Elevation="2">
|
|
<MudHidden Breakpoint="Breakpoint.MdAndUp">
|
|
<MudIconButton Icon="@Icons.Material.Filled.Menu" Color="Color.Inherit" OnClick="@ToggleDrawer" Edge="Edge.Start" />
|
|
</MudHidden>
|
|
|
|
|
|
<RadzenGravatar class="w-14 h-14" Email="@_user?.Email" />
|
|
<MudStack class="mr-2" Spacing="0">
|
|
<MudText Color="Color.Inherit" Typo="Typo.body1"><b>@_user?.FullName</b></MudText>
|
|
<MudText Color="Color.Inherit" Typo="Typo.caption">@_user?.PhoneNumber</MudText>
|
|
</MudStack>
|
|
<MudSpacer />
|
|
<MudToggleIconButton @bind-Toggled="@MainTheme.IsDarkMode"
|
|
Icon="@Icons.Material.Outlined.DarkMode" Color="@Color.Default" Title="تاریک"
|
|
ToggledIcon="@Icons.Material.Filled.LightMode" ToggledColor="@Color.Default" ToggledTitle="روشن" />
|
|
<MudIconButton Size="Size.Medium" Color="Color.Error" OnClick="LogoutAsync" Icon="@Icons.Material.Outlined.ExitToApp" />
|
|
</MudAppBar>
|
|
|
|
<MudDrawer @bind-Open="@open" Breakpoint="Breakpoint.MdAndUp" Elevation="1" Variant="@DrawerVariant.Responsive">
|
|
<SideBarUi />
|
|
</MudDrawer>
|
|
|
|
<MudGrid Spacing="0">
|
|
|
|
<MudItem md="3" lg="2">
|
|
<MudHidden Breakpoint="Breakpoint.SmAndDown">
|
|
<SideBarUi />
|
|
</MudHidden>
|
|
</MudItem>
|
|
<MudItem sm="12" md="9" lg="10">
|
|
|
|
<div>
|
|
@Body
|
|
</div>
|
|
</MudItem>
|
|
</MudGrid>
|
|
</MudLayout>
|
|
<div dir="ltr">
|
|
<PWAUpdater Align="PWAUpdater.Aligns.Buttom" Text="@_updateText" ButtonCaption="اپدیت کنید" />
|
|
</div>
|
|
</MudRTLProvider>
|
|
</Authorized>
|
|
<NotAuthorized>
|
|
<MudRTLProvider RightToLeft="true">
|
|
<MudThemeProvider Theme="@MainTheme.MyCustomTheme" />
|
|
<MudDialogProvider />
|
|
<MudSnackbarProvider />
|
|
|
|
<MudLayout>
|
|
<div>
|
|
<LoginPage />
|
|
<div dir="ltr">
|
|
<PWAUpdater Text="@_updateText" ButtonCaption="اپدیت کنید" />
|
|
</div>
|
|
</div>
|
|
</MudLayout>
|
|
</MudRTLProvider>
|
|
|
|
</NotAuthorized>
|
|
</AuthorizeView>
|
|
@code
|
|
{
|
|
|
|
private string _updateText = "! نسخه جدید پنل ادمین رسید";
|
|
private ApplicationUserSDto? _user;
|
|
bool open = false;
|
|
void ToggleDrawer() => open = !open;
|
|
private async Task LogoutAsync()
|
|
{
|
|
await UserUtility.LogoutAsync();
|
|
NavigationManager.NavigateTo("login", true, true);
|
|
}
|
|
protected override void OnInitialized()
|
|
{
|
|
string? version = typeof(Program)?.Assembly.GetName()?.Version?.ToString();
|
|
if (version != null)
|
|
_updateText = $"نسخه جدید پنل ادمین رسید - {version}";
|
|
|
|
base.OnInitialized();
|
|
}
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
_user = await UserUtility.GetUserAsync();
|
|
await base.OnInitializedAsync();
|
|
}
|
|
}
|