57 lines
No EOL
1.7 KiB
Text
57 lines
No EOL
1.7 KiB
Text
@using LANCommander.Server.Data
|
|
@inherits LayoutComponentBase
|
|
@layout BasicLayout
|
|
@inject UserService UserService
|
|
@inject RoleService RoleService
|
|
@inject NavigationManager NavigationManager
|
|
|
|
<GridRow Align="center" Class="ant-row-middle ant-row-space-around" Style="min-height: 100vh; margin-top: -96px;">
|
|
<GridCol Xs="24" Md="10">
|
|
<div style="text-align: center; margin-bottom: 24px;">
|
|
<img src="/static/logo-dark.svg" />
|
|
</div>
|
|
|
|
<Card Title="First Time Setup">
|
|
<Steps Current="CurrentStep" Size="small">
|
|
@foreach (var step in Enum.GetValues(typeof(FirstTimeSetupStep)))
|
|
{
|
|
<Step Title="@step.ToString()" />
|
|
}
|
|
</Steps>
|
|
|
|
<CascadingValue Value="this">
|
|
@Body
|
|
</CascadingValue>
|
|
</Card>
|
|
</GridCol>
|
|
</GridRow>
|
|
|
|
@code {
|
|
private int CurrentStep = (int)FirstTimeSetupStep.Database;
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
if (DatabaseContext.Provider != Data.Enums.DatabaseProvider.Unknown)
|
|
{
|
|
var role = await RoleService.Get("Administrator");
|
|
|
|
if (role == null)
|
|
await RoleService.Add(new Role
|
|
{
|
|
Name = "Administrator"
|
|
});
|
|
|
|
var administrators = await RoleService.GetUsers("Administrator");
|
|
|
|
if (administrators != null && administrators.Any())
|
|
NavigationManager.NavigateTo("/");
|
|
}
|
|
}
|
|
|
|
internal async Task ChangeCurrentStep(FirstTimeSetupStep step)
|
|
{
|
|
CurrentStep = (int)step;
|
|
|
|
await InvokeAsync(StateHasChanged);
|
|
}
|
|
} |