Merge branch 'main' into TOTP
This commit is contained in:
@@ -9,6 +9,34 @@
|
||||
@inject NavigationManager NavigationManager
|
||||
@inject CookieService CookieService
|
||||
|
||||
<div class="menu menu-column justify-content-center"
|
||||
data-kt-menu="true">
|
||||
<div class="menu-item">
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-success dropdown-toggle" type="button" data-bs-toggle="dropdown">
|
||||
<TL>Create</TL>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a class="dropdown-item py-2" href="/servers/create">
|
||||
<TL>Server</TL>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item py-2" href="/domains/create">
|
||||
<TL>Domain</TL>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item py-2" href="/websites/create">
|
||||
<TL>Website</TL>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="app-navbar flex-shrink-0">
|
||||
<div class="app-navbar-item ms-1 ms-lg-3">
|
||||
<ThemeSwitcher
|
||||
@@ -24,7 +52,7 @@
|
||||
<i class="bx bx-support"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="app-navbar-item ms-1 ms-lg-3" id="kt_header_user_menu_toggle">
|
||||
<div class="cursor-pointer symbol symbol-35px symbol-md-40px" data-kt-menu-trigger="click" data-kt-menu-attach="parent" data-kt-menu-placement="bottom-end">
|
||||
<img alt="Avatar" src="/api/moonlight/avatar/@(User.Id)"/>
|
||||
@@ -39,7 +67,7 @@
|
||||
<div class="d-flex flex-column">
|
||||
<div class="fw-bold d-flex align-items-center fs-5">
|
||||
@(User.FirstName) @(User.LastName)
|
||||
|
||||
|
||||
@if (User.Admin)
|
||||
{
|
||||
<span class="badge badge-light-success fw-bold fs-8 px-2 py-1 ms-2">Admin</span>
|
||||
@@ -51,10 +79,14 @@
|
||||
</div>
|
||||
<div class="separator my-2"></div>
|
||||
<div class="menu-item px-5 my-1">
|
||||
<a href="/profile" class="menu-link px-5"><TL>Profile</TL></a>
|
||||
<a href="/profile" class="menu-link px-5">
|
||||
<TL>Profile</TL>
|
||||
</a>
|
||||
</div>
|
||||
<div class="menu-item px-5">
|
||||
<a @onclick="Logout" class="menu-link px-5"><TL>Logout</TL></a>
|
||||
<a @onclick="Logout" class="menu-link px-5">
|
||||
<TL>Logout</TL>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -80,4 +112,4 @@
|
||||
await CookieService.SetValue("token", "", 1);
|
||||
NavigationManager.NavigateTo(NavigationManager.Uri, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -52,6 +52,8 @@
|
||||
|
||||
if(Tags.Contains("pythonfile"))
|
||||
Settings.Add("Python file", typeof(PythonFileSetting));
|
||||
|
||||
Settings.Add("Server reset", typeof(ServerResetSetting));
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
@using Moonlight.App.Services
|
||||
@using Moonlight.App.Database.Entities
|
||||
@using Moonlight.App.Helpers
|
||||
@using Moonlight.App.Helpers.Files
|
||||
@using Moonlight.App.Services.Interop
|
||||
|
||||
@inject SmartTranslateService SmartTranslateService
|
||||
@inject AlertService AlertService
|
||||
@inject ToastService ToastService
|
||||
@inject WingsApiHelper WingsApiHelper
|
||||
@inject ConfigService ConfigService
|
||||
@inject ServerService ServerService
|
||||
|
||||
<WButton Text="@(SmartTranslateService.Translate("Reset"))"
|
||||
WorkingText="@(SmartTranslateService.Translate("Resetting"))"
|
||||
CssClasses="btn-danger"
|
||||
OnClick="OnClick">
|
||||
</WButton>
|
||||
|
||||
@code
|
||||
{
|
||||
[CascadingParameter]
|
||||
public Server CurrentServer { get; set; }
|
||||
|
||||
private async Task OnClick()
|
||||
{
|
||||
var b = await AlertService.YesNo(
|
||||
SmartTranslateService.Translate("Are you sure you want to reset this server?"),
|
||||
SmartTranslateService.Translate("Are you sure? This cannot be undone"),
|
||||
SmartTranslateService.Translate("Yes"),
|
||||
SmartTranslateService.Translate("No")
|
||||
);
|
||||
|
||||
if (b)
|
||||
{
|
||||
await ToastService.CreateProcessToast("serverReset", SmartTranslateService.Translate("Resetting server"));
|
||||
|
||||
var access = new WingsFileAccess(
|
||||
WingsApiHelper,
|
||||
null!,
|
||||
CurrentServer,
|
||||
ConfigService,
|
||||
null!
|
||||
);
|
||||
|
||||
var files = await access.Ls();
|
||||
|
||||
int i = 1;
|
||||
foreach (var file in files)
|
||||
{
|
||||
await access.Delete(file);
|
||||
await ToastService.UpdateProcessToast("serverReset", $"{SmartTranslateService.Translate("Deleted file")} {i}/{files.Length}");
|
||||
i++;
|
||||
}
|
||||
|
||||
await ToastService.UpdateProcessToast("serverReset", SmartTranslateService.Translate("Reinstalling server"));
|
||||
|
||||
await ServerService.Reinstall(CurrentServer);
|
||||
await ToastService.RemoveProcessToast("serverReset");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user