diff --git a/Moonlight.Frontend/UI/Admin/Modals/UpdateInstanceModal.razor b/Moonlight.Frontend/UI/Admin/Modals/UpdateInstanceModal.razor index 8a48574f..a4f10c1c 100644 --- a/Moonlight.Frontend/UI/Admin/Modals/UpdateInstanceModal.razor +++ b/Moonlight.Frontend/UI/Admin/Modals/UpdateInstanceModal.razor @@ -12,7 +12,7 @@ - Updating instance... + Updating instance to @Version... @@ -75,6 +75,8 @@ else @code { + [Parameter] public string Version { get; set; } + private int Progress; private int CurrentStep; diff --git a/Moonlight.Frontend/UI/Admin/Views/Overview.razor b/Moonlight.Frontend/UI/Admin/Views/Overview.razor index f86db322..f8e03c48 100644 --- a/Moonlight.Frontend/UI/Admin/Views/Overview.razor +++ b/Moonlight.Frontend/UI/Admin/Views/Overview.razor @@ -133,7 +133,11 @@ { Update available - + } @@ -156,10 +160,4 @@ await InvokeAsync(StateHasChanged); } - - private async Task LaunchUpdateModalAsync() => await DialogService.LaunchAsync(onConfigure: model => - { - model.ShowCloseButton = false; - model.ClassName = "sm:max-w-4xl!"; - }); } diff --git a/Moonlight.Frontend/UI/Admin/Views/Sys/Instance.razor b/Moonlight.Frontend/UI/Admin/Views/Sys/Instance.razor index 0b85ef54..058e35cf 100644 --- a/Moonlight.Frontend/UI/Admin/Views/Sys/Instance.razor +++ b/Moonlight.Frontend/UI/Admin/Views/Sys/Instance.razor @@ -1,13 +1,18 @@ @using LucideBlazor +@using Moonlight.Frontend.UI.Admin.Modals @using Moonlight.Shared.Http.Responses.Admin @using ShadcnBlazor.Cards @using ShadcnBlazor.Emptys @using ShadcnBlazor.Buttons +@using ShadcnBlazor.Extras.AlertDialogs @using ShadcnBlazor.Extras.Common +@using ShadcnBlazor.Extras.Dialogs @using ShadcnBlazor.Fields @using ShadcnBlazor.Selects @inject HttpClient HttpClient +@inject DialogService DialogService +@inject AlertDialogService AlertDialogService
@@ -31,18 +36,19 @@ Version - - Testy + v2.1 + v2.1.1 - + @@ -55,7 +61,7 @@ - + No Plugins found @@ -103,9 +109,29 @@ @code { private ContainerHelperStatusDto StatusDto; + private string SelectedVersion = "v2.1"; private async Task LoadAsync(LazyLoader _) { StatusDto = (await HttpClient.GetFromJsonAsync("api/admin/ch/status"))!; } + + private async Task ApplyAsync() + { + await AlertDialogService.ConfirmDangerAsync( + "Moonlight Rebuild", + "If you continue the moonlight instance will become unavailable during the rebuild process. This will impact users on this instance", + async () => + { + await DialogService.LaunchAsync( + parameters => { parameters[nameof(UpdateInstanceModal.Version)] = SelectedVersion; }, + onConfigure: model => + { + model.ShowCloseButton = false; + model.ClassName = "sm:max-w-4xl!"; + } + ); + } + ); + } }