Upgraded mooncore. Done required refactoring to function with new version

This commit is contained in:
2025-10-20 19:27:31 +00:00
parent 85392208c4
commit f6b71f4de6
51 changed files with 239 additions and 224 deletions

View File

@@ -2,8 +2,8 @@
@using MoonCore.Blazor.FlyonUi.Components
@using MoonCore.Blazor.FlyonUi.Modals
@using MoonCore.Blazor.FlyonUi.Toasts
@using MoonCore.Common
@using MoonCore.Helpers
@using MoonCore.Models
@using MoonlightServers.Frontend.UI.Components.Stars.Modals
@using MoonlightServers.Shared.Http.Requests.Admin.StarDockerImages
@using MoonlightServers.Shared.Http.Responses.Admin.StarDockerImages
@@ -18,7 +18,7 @@
<div class="flex justify-end">
<button type="button" @onclick="AddDockerImageAsync" class="btn btn-primary">Add docker image</button>
</div>
<div class="grid sm:grid-cols-2 xl:grid-cols-3 gap-4 mt-5">
@foreach (var dockerImage in DockerImages)
{
@@ -30,11 +30,13 @@
</div>
<div class="gap-x-2">
<button type="button" @onclick="() => UpdateDockerImageAsync(dockerImage)" class="btn btn-primary">
<button type="button" @onclick="() => UpdateDockerImageAsync(dockerImage)"
class="btn btn-primary">
<i class="icon-settings text-base"></i>
</button>
<button type="button" @onclick="() => DeleteDockerImageAsync(dockerImage)" class="btn btn-error">
<button type="button" @onclick="() => DeleteDockerImageAsync(dockerImage)"
class="btn btn-error">
<i class="icon-trash text-base"></i>
</button>
</div>
@@ -47,19 +49,17 @@
@code
{
[Parameter] public StarResponse Star { get; set; }
private StarDockerImageResponse[] DockerImages;
private LazyLoader LazyLoader;
private async Task LoadAsync(LazyLoader _)
{
var pagedVariables = await ApiClient.GetJson<CountedData<StarDockerImageResponse>>(
$"api/admin/servers/stars/{Star.Id}/dockerImages?startIndex=0&count=100"
DockerImages = await CountedData.AllAsync<StarDockerImageResponse>(async (startIndex, count) =>
await ApiClient.GetJson<CountedData<StarDockerImageResponse>>(
$"api/admin/servers/stars/{Star.Id}/dockerImages?startIndex={startIndex}&count={count}"
)
);
// TODO: Improve paged stuff
DockerImages = pagedVariables.Items;
}
private async Task AddDockerImageAsync()
@@ -67,34 +67,31 @@
Func<CreateStarDockerImageRequest, Task> onSubmit = async request =>
{
await ApiClient.Post($"api/admin/servers/stars/{Star.Id}/dockerImages", request);
await ToastService.SuccessAsync("Successfully created docker image");
await LazyLoader.ReloadAsync();
};
await ModalService.LaunchAsync<CreateDockerImageModal>(parameters =>
{
parameters.Add("OnSubmit", onSubmit);
});
await ModalService.LaunchAsync<CreateDockerImageModal>(parameters => { parameters.Add("OnSubmit", onSubmit); });
}
private async Task UpdateDockerImageAsync(StarDockerImageResponse dockerImage)
{
Func<UpdateStarDockerImageRequest, Task> onSubmit = async request =>
{
await ApiClient.Patch($"api/admin/servers/stars/{Star.Id}/dockerImages/{dockerImage.Id}", request);
await ToastService.SuccessAsync("Successfully updated docker image");
await LazyLoader.ReloadAsync();
};
await ModalService.LaunchAsync<UpdateDockerImageModal>(parameters =>
{
parameters.Add("OnSubmit", onSubmit);
parameters.Add("DockerImage", dockerImage);
});
}
private async Task DeleteDockerImageAsync(StarDockerImageResponse dockerImage)
{
await AlertService.ConfirmDangerAsync(
@@ -103,7 +100,7 @@
async () =>
{
await ApiClient.Delete($"api/admin/servers/stars/{Star.Id}/dockerImages/{dockerImage.Id}");
await ToastService.SuccessAsync("Successfully deleted docker image");
await LazyLoader.ReloadAsync();
}

View File

@@ -1,6 +1,6 @@
@using MoonCore.Blazor.FlyonUi.Components
@using MoonCore.Common
@using MoonCore.Helpers
@using MoonCore.Models
@using MoonlightServers.Shared.Http.Requests.Admin.Stars
@using MoonlightServers.Shared.Http.Responses.Admin.StarDockerImages
@using MoonlightServers.Shared.Http.Responses.Admin.Stars

View File

@@ -2,8 +2,8 @@
@using MoonCore.Blazor.FlyonUi.Components
@using MoonCore.Blazor.FlyonUi.Modals
@using MoonCore.Blazor.FlyonUi.Toasts
@using MoonCore.Common
@using MoonCore.Helpers
@using MoonCore.Models
@using MoonlightServers.Frontend.UI.Components.Stars.Modals
@using MoonlightServers.Shared.Http.Requests.Admin.StarVariables
@using MoonlightServers.Shared.Http.Responses.Admin.Stars
@@ -28,7 +28,7 @@
<i class="icon-variable text-xl align-middle mr-2"></i>
<span class="align-middle text-lg">@variable.Name</span>
</div>
<div class="gap-x-2">
<button type="button" @onclick="() => UpdateVariableAsync(variable)" class="btn btn-primary">
<i class="icon-settings text-base"></i>
@@ -47,17 +47,17 @@
@code
{
[Parameter] public StarResponse Star { get; set; }
private StarVariableResponse[] CurrentVariables;
private LazyLoader LazyLoader;
private async Task LoadAsync(LazyLoader arg)
{
var pagedVariables = await ApiClient.GetJson<CountedData<StarVariableResponse>>(
$"api/admin/servers/stars/{Star.Id}/variables?startIndex=0&count=100"
CurrentVariables = await CountedData.AllAsync<StarVariableResponse>(async (startIndex, count) =>
await ApiClient.GetJson<CountedData<StarVariableResponse>>(
$"api/admin/servers/stars/{Star.Id}/variables?startIndex={startIndex}&count={count}"
)
);
CurrentVariables = pagedVariables.Items;
}
private async Task AddVariableAsync()
@@ -65,27 +65,24 @@
Func<CreateStarVariableRequest, Task> onSubmit = async request =>
{
await ApiClient.Post($"api/admin/servers/stars/{Star.Id}/variables", request);
await ToastService.SuccessAsync("Successfully created variable");
await LazyLoader.ReloadAsync();
};
await ModalService.LaunchAsync<CreateVariableModal>(parameters =>
{
parameters.Add("OnSubmit", onSubmit);
}, "max-w-xl");
await ModalService.LaunchAsync<CreateVariableModal>(parameters => { parameters.Add("OnSubmit", onSubmit); }, "max-w-xl");
}
private async Task UpdateVariableAsync(StarVariableResponse variable)
{
Func<UpdateStarVariableRequest, Task> onSubmit = async request =>
{
await ApiClient.Patch($"api/admin/servers/stars/{Star.Id}/variables/{variable.Id}", request);
await ToastService.SuccessAsync("Successfully updated variable");
await LazyLoader.ReloadAsync();
};
await ModalService.LaunchAsync<UpdateVariableModal>(parameters =>
{
parameters.Add("OnSubmit", onSubmit);
@@ -101,7 +98,7 @@
async () =>
{
await ApiClient.Delete($"api/admin/servers/stars/{Star.Id}/variables/{variable.Id}");
await ToastService.SuccessAsync("Successfully deleted variable");
await LazyLoader.ReloadAsync();
}