Added new node manager. Added new login/register screen. AuditLog. Permissions
This commit is contained in:
115
Moonlight/Shared/Views/Admin/Nodes/Edit.razor
Normal file
115
Moonlight/Shared/Views/Admin/Nodes/Edit.razor
Normal file
@@ -0,0 +1,115 @@
|
||||
@page "/admin/nodes/edit/{id:int}"
|
||||
@using Moonlight.App.Repositories
|
||||
@using Moonlight.App.Database.Entities
|
||||
@using Moonlight.App.Services
|
||||
|
||||
@inject NodeRepository NodeRepository
|
||||
@inject SmartTranslateService SmartTranslateService
|
||||
@inject NavigationManager NavigationManager
|
||||
|
||||
<OnlyAdmin>
|
||||
<LazyLoader Load="Load">
|
||||
@if (Node == null)
|
||||
{
|
||||
<div class="alert alert-warning">
|
||||
<TL>No node with this id found</TL>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="d-flex flex-center">
|
||||
<div class="card rounded-3 w-md-550px">
|
||||
<div class="card-body">
|
||||
<div class="d-flex flex-center flex-column-fluid">
|
||||
<div class="form w-100 fv-plugins-bootstrap5 fv-plugins-framework">
|
||||
<div class="fv-row mb-8">
|
||||
<label>
|
||||
<TL>Nodename</TL>
|
||||
</label>
|
||||
<input @bind="Node.Name" type="text" placeholder="@(SmartTranslateService.Translate("Nodename"))" class="form-control bg-transparent">
|
||||
</div>
|
||||
<div class="fv-row mb-8">
|
||||
<label>
|
||||
<TL>FQDN</TL>
|
||||
</label>
|
||||
<input @bind="Node.Fqdn" type="text" placeholder="@(SmartTranslateService.Translate("FQDN"))" class="form-control bg-transparent">
|
||||
</div>
|
||||
<div class="fv-row mb-8">
|
||||
<label>
|
||||
<TL>Token Id</TL>
|
||||
</label>
|
||||
<input @bind="Node.TokenId" type="text" placeholder="@(SmartTranslateService.Translate("Toekn Id"))" class="form-control bg-transparent">
|
||||
</div>
|
||||
<div class="fv-row mb-8">
|
||||
<label>
|
||||
<TL>Token</TL>
|
||||
</label>
|
||||
<input @bind="Node.Token" type="text" placeholder="@(SmartTranslateService.Translate("Token"))" class="form-control bg-transparent">
|
||||
</div>
|
||||
<div class="fv-row mb-8">
|
||||
<label>
|
||||
<TL>Http port</TL>
|
||||
</label>
|
||||
<input @bind="Node.HttpPort" type="number" class="form-control bg-transparent">
|
||||
</div>
|
||||
<div class="fv-row mb-8">
|
||||
<label>
|
||||
<TL>Sftp port</TL>
|
||||
</label>
|
||||
<input @bind="Node.SftpPort" type="number" class="form-control bg-transparent">
|
||||
</div>
|
||||
<div class="fv-row mb-8">
|
||||
<label>
|
||||
<TL>Moonlight daemon port</TL>
|
||||
</label>
|
||||
<input @bind="Node.MoonlightDaemonPort" type="number" class="form-control bg-transparent">
|
||||
</div>
|
||||
<div class="fv-row mb-8">
|
||||
<div class="input-group">
|
||||
<label class="col-lg-4 col-form-label fw-semibold fs-6">
|
||||
<TL>SSL</TL>
|
||||
</label>
|
||||
<div class="col-lg-8 d-flex align-items-center">
|
||||
<div class="form-check form-check-solid form-switch form-check-custom fv-row">
|
||||
<input @bind="Node.Ssl" class="form-check-input w-45px h-30px" type="checkbox" id="ssl">
|
||||
<label class="form-check-label" for="ssl"></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fv-row mb-9">
|
||||
<WButton Text="@(SmartTranslateService.Translate("Save"))"
|
||||
WorkingText="@(SmartTranslateService.Translate("Saving"))"
|
||||
CssClasses="btn-primary"
|
||||
OnClick="Save">
|
||||
</WButton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</LazyLoader>
|
||||
</OnlyAdmin>
|
||||
|
||||
@code
|
||||
{
|
||||
[Parameter]
|
||||
public int Id { get; set; }
|
||||
|
||||
private Node? Node;
|
||||
|
||||
private async Task Load(LazyLoader arg)
|
||||
{
|
||||
Node = NodeRepository.Get().FirstOrDefault(x => x.Id == Id);
|
||||
}
|
||||
|
||||
private Task Save()
|
||||
{
|
||||
NodeRepository.Update(Node);
|
||||
NavigationManager.NavigateTo("/admin/nodes");
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user