47 lines
1.7 KiB
Plaintext
47 lines
1.7 KiB
Plaintext
@using HopFrame.Core.Config
|
|
@using HopFrame.Core.Services
|
|
@using Microsoft.Extensions.DependencyInjection
|
|
@inherits LayoutComponentBase
|
|
|
|
<link rel="stylesheet" type='text/css' href="https://cdn.jsdelivr.net/gh/devicons/devicon@latest/devicon.min.css" />
|
|
<link rel="stylesheet" href="/_content/HopFrame.Web/hopframe.css"/>
|
|
|
|
<FluentDesignTheme Mode="DesignThemeModes.Dark" />
|
|
|
|
<FluentLayout Class="hopframe-outer">
|
|
<HopFrameNavigation />
|
|
<FluentStack Orientation="Orientation.Horizontal" Width="100%" Class="hopframe-main">
|
|
<HopFrameSideMenu />
|
|
<FluentBodyContent>
|
|
<div class="hopframe-content">
|
|
@Body
|
|
</div>
|
|
</FluentBodyContent>
|
|
</FluentStack>
|
|
<FluentFooter>
|
|
<a href="https://git.leon-hoppe.de/leon.hoppe/hopframe" target="_blank">Documentation and source code</a>
|
|
<FluentSpacer/>
|
|
<a href="https://git.leon-hoppe.de/leon.hoppe/" target="_blank" style="margin-right: 0.25rem; text-decoration: none">
|
|
<i class="devicon-gitlab-plain"></i>
|
|
</a>
|
|
<a href="https://github.com/leonhoppe" target="_blank" style="text-decoration: none">
|
|
<i class="devicon-github-original"></i>
|
|
</a>
|
|
</FluentFooter>
|
|
</FluentLayout>
|
|
|
|
@inject IHopFrameAuthHandler Handler
|
|
@inject HopFrameConfig Config
|
|
@inject NavigationManager Navigator
|
|
|
|
@code {
|
|
|
|
protected override async Task OnInitializedAsync() {
|
|
var authorized = await Handler.IsAuthenticatedAsync(Config.BasePolicy);
|
|
if (!authorized) {
|
|
Navigator.NavigateTo((Config.LoginPageRewrite ?? "/login") + "?redirect=/" + Navigator.ToBaseRelativePath(Navigator.Uri), true);
|
|
}
|
|
}
|
|
|
|
}
|