@page "/admin/servers/templates/{Id:int}" @using System.Net @using System.Text.Json @using LucideBlazor @using Moonlight.Frontend.Helpers @using MoonlightServers.Shared @using MoonlightServers.Shared.Admin.Templates @using ShadcnBlazor.Buttons @using ShadcnBlazor.Cards @using ShadcnBlazor.Emptys @using ShadcnBlazor.Extras.Common @using ShadcnBlazor.Extras.Forms @using ShadcnBlazor.Extras.Toasts @using ShadcnBlazor.Fields @using ShadcnBlazor.Inputs @using ShadcnBlazor.Tab @inject HttpClient HttpClient @inject NavigationManager Navigation @inject ToastService ToastService @if (Template == null) { Template not found A template with this id cannot be found } else {

Update Template

Update template @Template.Name
Continue
Meta Lifecycle Installation Variables Docker Images Files
Name Author Version Description Donate URL Update URL
Startup Commands Stop Command Online Texts
Docker Image Shell Script
}
@code { [Parameter] public int Id { get; set; } private UpdateTemplateDto Request; private DetailedTemplateDto? Template; private ScriptEditor ScriptEditor; private async Task LoadAsync(LazyLoader _) { // Meta var metaResponse = await HttpClient.GetAsync($"api/admin/servers/templates/{Id}"); if (!metaResponse.IsSuccessStatusCode) { if (metaResponse.StatusCode == HttpStatusCode.NotFound) return; metaResponse.EnsureSuccessStatusCode(); return; } Template = await metaResponse.Content.ReadFromJsonAsync( SerializationContext.Default.Options ); if (Template == null) return; Request = TemplateMapper.ToRequest(Template); } private async Task OnSubmitAsync(EditContext context, ValidationMessageStore validationMessageStore) { await ScriptEditor.SubmitAsync(); var response = await HttpClient.PutAsJsonAsync( $"/api/admin/servers/templates/{Id}", Request, SerializationContext.Default.Options ); if (!response.IsSuccessStatusCode) { await ProblemDetailsHelper.HandleProblemDetailsAsync(response, Request, validationMessageStore); return false; } await ToastService.SuccessAsync( "Template Update", $"Successfully updated template {Request.Name}" ); Navigation.NavigateTo("/admin/servers?tab=templates"); return true; } }