Files
Servers/MoonlightServers.Frontend/UI/Components/Stars/Modals/UpdateDockerImageModal.razor

71 lines
2.4 KiB
Plaintext

@using MoonCore.Blazor.FlyonUi.Components
@using MoonlightServers.Frontend.UI.Components.Forms
@using MoonlightServers.Shared.Http.Requests.Admin.StarDockerImages
@using MoonlightServers.Shared.Http.Responses.Admin.StarDockerImages
@inherits MoonCore.Blazor.FlyonUi.Modals.Components.BaseModal
<div class="p-5">
<div class="flex items-center gap-4">
<div class="avatar avatar-placeholder max-sm:hidden">
<div class="border-base-content/20 rounded-box w-13 border-1">
<span class="icon-container text-xl"></span>
</div>
</div>
<div class="space-y-1">
<h3 class="text-base-content text-2xl font-semibold">Update docker image</h3>
<p class="text-base-content/80">Update docker image properties</p>
</div>
</div>
<div class="mt-5">
<HandleForm @ref="HandleForm" Model="Form" OnValidSubmit="OnValidSubmit">
<div class="mt-2">
<label class="label-text">Display Name</label>
<input class="input" @bind="Form.DisplayName" type="text"/>
</div>
<div class="mt-2">
<label class="label-text">Identifier</label>
<input class="input" @bind="Form.Identifier" type="text"/>
</div>
<div class="mt-2">
<label class="label-text">Automatic pulling</label>
<Switch @bind-Value="Form.AutoPulling"/>
</div>
</HandleForm>
</div>
<div class="mt-5 flex justify-end">
<button @onclick="HideAsync" type="button" class="btn btn-secondary me-2">
Cancel
</button>
<WButton OnClick="SubmitAsync">
Update
</WButton>
</div>
</div>
@code
{
[Parameter] public Func<UpdateStarDockerImageRequest, Task> OnSubmit { get; set; }
[Parameter] public StarDockerImageResponse DockerImage { get; set; }
private UpdateStarDockerImageRequest Form;
private HandleForm HandleForm;
protected override void OnInitialized()
{
Form = new UpdateStarDockerImageRequest()
{
AutoPulling = DockerImage.AutoPulling,
DisplayName = DockerImage.DisplayName,
Identifier = DockerImage.Identifier
};
}
private async Task OnValidSubmit()
{
await OnSubmit.Invoke(Form);
await HideAsync();
}
private Task SubmitAsync() => HandleForm.SubmitAsync();
}