Added services. Added admin ui. Added delete button

This commit is contained in:
Marcel Baumgartner
2023-04-03 19:29:07 +02:00
parent 6db877d8fc
commit 010436cdb6
19 changed files with 1711 additions and 10 deletions

View File

@@ -0,0 +1,57 @@
@using Moonlight.App.Services
@using Moonlight.App.Services.Interop
@inject SmartTranslateService SmartTranslateService
@inject AlertService AlertService
@if (!Working)
{
<button class="btn btn-danger" @onclick="Do">
<i class="bx bx-trash"></i>
</button>
}
else
{
<button class="btn btn-danger disabled" disabled="">
<span class="spinner-border spinner-border-sm align-middle me-2"></span>
</button>
}
@code
{
private bool Working { get; set; } = false;
[Parameter]
public Func<Task>? OnClick { get; set; }
[Parameter]
public bool Confirm { get; set; } = false;
private async Task Do()
{
Working = true;
StateHasChanged();
await Task.Run(async () =>
{
if (Confirm)
{
var b = await AlertService.YesNo(
SmartTranslateService.Translate("Are you sure?"),
SmartTranslateService.Translate("Do you really want to delete it?"),
SmartTranslateService.Translate("Yes"),
SmartTranslateService.Translate("No")
);
if (b)
{
if(OnClick != null)
await OnClick.Invoke();
}
}
Working = false;
await InvokeAsync(StateHasChanged);
});
}
}

View File

@@ -33,13 +33,13 @@
public object Model { get; set; }
[Parameter]
public EventCallback<EditContext> OnValidSubmit { get; set; }
public Func<Task>? OnValidSubmit { get; set; }
[Parameter]
public EventCallback<EditContext> OnInvalidSubmit { get; set; }
public Func<Task>? OnInvalidSubmit { get; set; }
[Parameter]
public EventCallback<EditContext> OnSubmit { get; set; }
public Func<Task>? OnSubmit { get; set; }
[Parameter]
public RenderFragment ChildContent { get; set; }
@@ -67,8 +67,14 @@
await Task.Run(async () =>
{
await InvokeAsync(() => OnValidSubmit.InvokeAsync(context));
await InvokeAsync(() => OnSubmit.InvokeAsync(context));
await InvokeAsync(async () =>
{
if (OnValidSubmit != null)
await OnValidSubmit.Invoke();
if (OnSubmit != null)
await OnSubmit.Invoke();
});
Working = false;
await InvokeAsync(StateHasChanged);
@@ -87,7 +93,10 @@
await InvokeAsync(StateHasChanged);
await OnInvalidSubmit.InvokeAsync(context);
await OnSubmit.InvokeAsync(context);
if (OnInvalidSubmit != null)
await OnInvalidSubmit.Invoke();
if (OnSubmit != null)
await OnSubmit.Invoke();
}
}

View File

@@ -225,6 +225,14 @@ else
<span class="menu-title"><TL>Support</TL></span>
</a>
</div>
<div class="menu-item">
<a class="menu-link" href="/admin/subscriptions">
<span class="menu-icon">
<i class="bx bx-credit-card"></i>
</span>
<span class="menu-title"><TL>Subscriptions</TL></span>
</a>
</div>
<div class="menu-item">
<a class="menu-link" href="/admin/statistics">
<span class="menu-icon">