Files
KinginfoGateway/src/ThingsGateway.Admin.Razor/Layout/MainLayout.razor
2024-06-10 21:05:59 +08:00

84 lines
3.4 KiB
Plaintext

@inherits LayoutComponentBase
@layout BaseLayout
@namespace ThingsGateway.Admin.Razor
@using ThingsGateway.Admin.Application
@using ThingsGateway.Core.Extension
@inject NavigationManager NavigationManager
<SysSignalR />
<CascadingValue Value="ReloadMenu" Name="ReloadMenu" IsFixed="true">
<CascadingValue Value="ReloadUser" Name="ReloadUser" IsFixed="true">
<div class="mainlayout">
<Layout SideWidth="0" IsPage="true" IsFullSide="true" IsFixedHeader="true"
ShowGotoTop="true" ShowCollapseBar="true" Menus="@MenuService.MenuItems"
AdditionalAssemblies=App.RazorAssemblies AllowDragTab=true
UseTabSet="false" TabDefaultUrl="/">
<Header>
@* 搜索框 *@
<GlobalSearch Menus=@(MenuService.SameLevelMenuItems) />
@* 语言选择 *@
<CultureChooser />
@* 主题切换 *@
<ThemeToggle />
@* 全屏按钮 *@
<FullScreenButton class="layout-header-bar d-none d-lg-flex px-2" Icon="fa fa-arrows-alt"
TooltipPlacement=Placement.Bottom TooltipText="@Localizer[nameof(FullScreenButton)]" />
@if (WebsiteOption.Value.IsShowAbout)
{
<Button @onclick="ShowAbout" class="layout-header-bar d-none d-lg-flex px-2" Icon="fa fa-info" Color="Color.None" TooltipText="@Localizer[nameof(About)]" />
}
@* 版本号 *@
<div class="px-2 navbar-header-text d-none d-lg-block">@_versionString</div>
<Logout ImageUrl="@(AppContext.CurrentUser.Avatar??$"{WebsiteConst.DefaultResourceUrl}images/defaultUser.svg")" DisplayName="@UserManager.UserAccount" UserName="@UserManager.UserAccount">
<LinkTemplate>
@* 切换模块 *@
<a @onclick="ChoiceModule"><i class="fas fa-arrow-right-arrow-left me-2" />@Localizer["ChoiceModule"]</a>
<a @onclick="@OnUserInfoDialog"><i class="fa-solid fa-suitcase me-2"></i>@Localizer["UserCenter"]</a>
<a @onclick="@LogoutAsync"><i class="fa-solid fa-key me-2"></i>@Localizer["Logout"]</a>
</LinkTemplate>
</Logout>
</Header>
<Side>
<div class="layout-banner">
<span class="avatar">
@WebsiteOption.Value.Title?.GetNameLen2()
</span>
<div class="layout-title d-flex align-items-center justify-content-center">
<span>@WebsiteOption.Value.Title</span>
</div>
</div>
</Side>
<Main>
<Tab ClickTabToNavigation="true" ShowExtendButtons="true" ShowClose="true" AllowDrag=true
AdditionalAssemblies="@App.RazorAssemblies" Menus="@MenuService.MenuItems"
DefaultUrl=@("/") Body=@(Body!)>
</Tab>
</Main>
<NotAuthorized>
<Redirect />
</NotAuthorized>
</Layout>
</div>
</CascadingValue>
</CascadingValue>