Added saving in server variables tab

This commit is contained in:
2025-03-05 10:31:00 +01:00
parent a2ffb561bd
commit 4046579c42

View File

@@ -1,10 +1,12 @@
@using MoonCore.Blazor.Tailwind.Components @using MoonCore.Blazor.Tailwind.Components
@using MoonCore.Blazor.Tailwind.Toasts
@using MoonlightServers.Frontend.Services @using MoonlightServers.Frontend.Services
@using MoonlightServers.Shared.Http.Responses.Client.Servers.Variables @using MoonlightServers.Shared.Http.Responses.Client.Servers.Variables
@inherits BaseServerTab @inherits BaseServerTab
@inject ServerService ServerService @inject ServerService ServerService
@inject ToastService ToastService
<LazyLoader Load="Load"> <LazyLoader Load="Load">
<div class="grid grid-cols-1 gap-x-6 gap-y-8 sm:grid-cols-6"> <div class="grid grid-cols-1 gap-x-6 gap-y-8 sm:grid-cols-6">
@@ -18,7 +20,10 @@
@variable.Description @variable.Description
</p> </p>
<div class="mt-auto"> <div class="mt-auto">
<input value="@variable.Value" type="text" class="form-input w-full"> <input @onchange="e => UpdateVariable(variable, e)"
value="@variable.Value"
type="text"
class="form-input w-full">
</div> </div>
</div> </div>
} }
@@ -33,4 +38,21 @@
{ {
Variables = await ServerService.GetVariables(Server.Id); Variables = await ServerService.GetVariables(Server.Id);
} }
private async Task UpdateVariable(ServerVariableDetailResponse variable, ChangeEventArgs args)
{
var value = args.Value?.ToString() ?? "";
await ServerService.UpdateVariable(Server.Id, new()
{
Key = variable.Key,
Value = value
});
// Fetch the current data to make sure the user sees the latest data
Variables = await ServerService.GetVariables(Server.Id);
await InvokeAsync(StateHasChanged);
await ToastService.Success("Successfully updated variable");
}
} }