diff --git a/Moonlight.Frontend/Admin/Sys/Settings/Settings.razor b/Moonlight.Frontend/Admin/Sys/Settings/Index.razor
similarity index 100%
rename from Moonlight.Frontend/Admin/Sys/Settings/Settings.razor
rename to Moonlight.Frontend/Admin/Sys/Settings/Index.razor
diff --git a/Moonlight.Frontend/Admin/Sys/Settings/SystemSettingsOptions.cs b/Moonlight.Frontend/Admin/Sys/Settings/SystemSettingsOptions.cs
index f9d7db72..14e379f1 100644
--- a/Moonlight.Frontend/Admin/Sys/Settings/SystemSettingsOptions.cs
+++ b/Moonlight.Frontend/Admin/Sys/Settings/SystemSettingsOptions.cs
@@ -5,21 +5,28 @@ namespace Moonlight.Frontend.Admin.Sys.Settings;
public class SystemSettingsOptions
{
- private readonly List
InnerComponents = new();
public IReadOnlyList Components => InnerComponents;
+
+ private readonly List InnerComponents = [];
public void Add<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] TIcon,
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]
TComponent>(string name, string description,
- int order)
- where TIcon : ComponentBase where TComponent : ComponentBase
+ int order
+ ) where TIcon : ComponentBase where TComponent : ComponentBase
{
Add(name, description, order, typeof(TIcon), typeof(TComponent));
}
- public void Add(string name, string description, int order,
- [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type iconComponent,
- [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type component)
+ public void Add(
+ string name,
+ string description,
+ int order,
+ [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]
+ Type iconComponent,
+ [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]
+ Type component
+ )
{
InnerComponents.Add(new SystemSettingsPage(name, description, order, iconComponent, component));
}
diff --git a/Moonlight.Frontend/Admin/Sys/Settings/WhiteLabelingSetting.razor b/Moonlight.Frontend/Admin/Sys/Settings/WhiteLabelingSetting.razor
index 5da00b3d..38f0020a 100644
--- a/Moonlight.Frontend/Admin/Sys/Settings/WhiteLabelingSetting.razor
+++ b/Moonlight.Frontend/Admin/Sys/Settings/WhiteLabelingSetting.razor
@@ -1,13 +1,13 @@
@using LucideBlazor
@using Moonlight.Frontend.Infrastructure.Helpers
@using Moonlight.Frontend.Shared.Frontend
+@using Moonlight.Shared
@using Moonlight.Shared.Admin.Sys.Settings
@using ShadcnBlazor.Extras.Common
@using ShadcnBlazor.Extras.Forms
@using ShadcnBlazor.Extras.Toasts
@using ShadcnBlazor.Fields
@using ShadcnBlazor.Inputs
-@using SerializationContext = Moonlight.Shared.SerializationContext
@inject HttpClient HttpClient
@inject ToastService ToastService
diff --git a/Moonlight.Frontend/Admin/Sys/Themes/Create.razor b/Moonlight.Frontend/Admin/Sys/Themes/Create.razor
index 6a59696f..cb0301df 100644
--- a/Moonlight.Frontend/Admin/Sys/Themes/Create.razor
+++ b/Moonlight.Frontend/Admin/Sys/Themes/Create.razor
@@ -1,4 +1,5 @@
@page "/admin/system/themes/create"
+
@using LucideBlazor
@using Microsoft.AspNetCore.Authorization
@using Moonlight.Frontend.Infrastructure.Helpers
@@ -13,7 +14,6 @@
@using ShadcnBlazor.Fields
@using ShadcnBlazor.Inputs
@using ShadcnBlazor.Switches
-@using SerializationContext = Moonlight.Shared.SerializationContext
@attribute [Authorize(Policy = Permissions.Themes.Create)]
diff --git a/Moonlight.Frontend/Admin/Sys/Themes/Index.razor b/Moonlight.Frontend/Admin/Sys/Themes/Index.razor
index e132ac64..727ba033 100644
--- a/Moonlight.Frontend/Admin/Sys/Themes/Index.razor
+++ b/Moonlight.Frontend/Admin/Sys/Themes/Index.razor
@@ -10,7 +10,6 @@
@using ShadcnBlazor.Extras.AlertDialogs
@using ShadcnBlazor.Extras.Toasts
@using ShadcnBlazor.Tabels
-@using SerializationContext = Moonlight.Shared.SerializationContext
@inject ToastService ToastService
@inject NavigationManager Navigation
@@ -142,20 +141,11 @@
return new DataGridResponse(response!.Data, response.TotalLength);
}
- private void Create()
- {
- Navigation.NavigateTo("/admin/system/themes/create");
- }
+ private void Create() => Navigation.NavigateTo("/admin/system/themes/create");
- private void Edit(ThemeDto theme)
- {
- Navigation.NavigateTo($"/admin/system/themes/{theme.Id}");
- }
+ private void Edit(ThemeDto theme) => Navigation.NavigateTo($"/admin/system/themes/{theme.Id}");
- private void Download(ThemeDto theme)
- {
- Navigation.NavigateTo($"api/admin/themes/{theme.Id}/export", true);
- }
+ private void Download(ThemeDto theme) => Navigation.NavigateTo($"api/admin/themes/{theme.Id}/export", true);
private async Task DeleteAsync(ThemeDto theme)
{
diff --git a/Moonlight.Frontend/Admin/Sys/Themes/ThemeMapper.cs b/Moonlight.Frontend/Admin/Sys/Themes/ThemeMapper.cs
index 1d7741c8..4dacad70 100644
--- a/Moonlight.Frontend/Admin/Sys/Themes/ThemeMapper.cs
+++ b/Moonlight.Frontend/Admin/Sys/Themes/ThemeMapper.cs
@@ -7,7 +7,7 @@ namespace Moonlight.Frontend.Admin.Sys.Themes;
[Mapper]
[SuppressMessage("Mapper", "RMG020:No members are mapped in an object mapping")]
[SuppressMessage("Mapper", "RMG012:No members are mapped in an object mapping")]
-public partial class ThemeMapper
+public static partial class ThemeMapper
{
public static partial UpdateThemeDto ToUpdate(ThemeDto theme);
}
\ No newline at end of file
diff --git a/Moonlight.Frontend/Admin/Sys/Themes/Update.razor b/Moonlight.Frontend/Admin/Sys/Themes/Update.razor
index f0c8e820..9df311e8 100644
--- a/Moonlight.Frontend/Admin/Sys/Themes/Update.razor
+++ b/Moonlight.Frontend/Admin/Sys/Themes/Update.razor
@@ -1,4 +1,5 @@
@page "/admin/system/themes/{Id:int}"
+
@using LucideBlazor
@using Microsoft.AspNetCore.Authorization
@using Moonlight.Frontend.Infrastructure.Helpers
@@ -14,7 +15,6 @@
@using ShadcnBlazor.Fields
@using ShadcnBlazor.Inputs
@using ShadcnBlazor.Switches
-@using SerializationContext = Moonlight.Shared.SerializationContext
@attribute [Authorize(Policy = Permissions.Themes.Edit)]
diff --git a/Moonlight.Frontend/Admin/Users/Index.razor b/Moonlight.Frontend/Admin/Users/Index.razor
index 9d293b79..e8a507ed 100644
--- a/Moonlight.Frontend/Admin/Users/Index.razor
+++ b/Moonlight.Frontend/Admin/Users/Index.razor
@@ -22,10 +22,10 @@
-
+
-
+
@@ -39,4 +39,4 @@
{
Navigation.NavigateTo($"/admin/users?tab={name}");
}
-}
+}
\ No newline at end of file
diff --git a/Moonlight.Frontend/Admin/Users/Roles/CreateRoleDialog.razor b/Moonlight.Frontend/Admin/Users/Roles/CreateRoleDialog.razor
index 42250ce8..6a8bc2d4 100644
--- a/Moonlight.Frontend/Admin/Users/Roles/CreateRoleDialog.razor
+++ b/Moonlight.Frontend/Admin/Users/Roles/CreateRoleDialog.razor
@@ -1,12 +1,12 @@
@using Moonlight.Frontend.Admin.Users.Shared
@using Moonlight.Frontend.Infrastructure.Helpers
+@using Moonlight.Shared
@using Moonlight.Shared.Admin.Users.Roles
@using ShadcnBlazor.Dialogs
@using ShadcnBlazor.Extras.Forms
@using ShadcnBlazor.Extras.Toasts
@using ShadcnBlazor.Fields
@using ShadcnBlazor.Inputs
-@using SerializationContext = Moonlight.Shared.SerializationContext
@inherits ShadcnBlazor.Extras.Dialogs.DialogBase
@@ -67,7 +67,7 @@
Permissions = []
};
- Permissions = new List();
+ Permissions = [];
}
private async Task OnSubmitAsync(EditContext editContext, ValidationMessageStore validationMessageStore)
@@ -86,7 +86,7 @@
return false;
}
- await ToastService.SuccessAsync("Role creation", $"Role {Request.Name} has been successfully created");
+ await ToastService.SuccessAsync("Role Creation", $"Role {Request.Name} has been successfully created");
await OnSubmit.Invoke();
await CloseAsync();
diff --git a/Moonlight.Frontend/Admin/Users/Roles/Roles.razor b/Moonlight.Frontend/Admin/Users/Roles/Index.razor
similarity index 99%
rename from Moonlight.Frontend/Admin/Users/Roles/Roles.razor
rename to Moonlight.Frontend/Admin/Users/Roles/Index.razor
index bfca8cb4..a6781636 100644
--- a/Moonlight.Frontend/Admin/Users/Roles/Roles.razor
+++ b/Moonlight.Frontend/Admin/Users/Roles/Index.razor
@@ -11,7 +11,6 @@
@using ShadcnBlazor.Extras.Dialogs
@using ShadcnBlazor.Extras.Toasts
@using ShadcnBlazor.Tabels
-@using SerializationContext = Moonlight.Shared.SerializationContext
@inject HttpClient HttpClient
@inject DialogService DialogService
diff --git a/Moonlight.Frontend/Admin/Users/Roles/ManageRoleMembersDialog.razor b/Moonlight.Frontend/Admin/Users/Roles/ManageRoleMembersDialog.razor
index 9287f547..84c42c4c 100644
--- a/Moonlight.Frontend/Admin/Users/Roles/ManageRoleMembersDialog.razor
+++ b/Moonlight.Frontend/Admin/Users/Roles/ManageRoleMembersDialog.razor
@@ -1,4 +1,5 @@
@using LucideBlazor
+@using Moonlight.Shared
@using Moonlight.Shared.Admin.Users.Roles
@using Moonlight.Shared.Admin.Users.Users
@using Moonlight.Shared.Shared
@@ -9,10 +10,11 @@
@using ShadcnBlazor.Extras.Common
@using ShadcnBlazor.Labels
@using ShadcnBlazor.Tabels
-@inherits ShadcnBlazor.Extras.Dialogs.DialogBase
@inject HttpClient HttpClient
+@inherits ShadcnBlazor.Extras.Dialogs.DialogBase
+
Manage members of @Role.Name
@@ -75,7 +77,8 @@
query += $"&searchTerm={request.SearchTerm}";
var response = await HttpClient.GetFromJsonAsync>(
- $"api/admin/roles/{Role.Id}/members{query}"
+ $"api/admin/roles/{Role.Id}/members{query}",
+ SerializationContext.Default.Options
);
return new DataGridResponse(response!.Data, response.TotalLength);
@@ -89,7 +92,8 @@
query += $"&searchTerm={searchTerm}";
var response = await HttpClient.GetFromJsonAsync>(
- $"api/admin/roles/{Role.Id}/members/available{query}"
+ $"api/admin/roles/{Role.Id}/members/available{query}",
+ SerializationContext.Default.Options
);
return response!.Data;
diff --git a/Moonlight.Frontend/Admin/Users/Roles/UpdateRoleDialog.razor b/Moonlight.Frontend/Admin/Users/Roles/UpdateRoleDialog.razor
index f0a0c184..102c83dc 100644
--- a/Moonlight.Frontend/Admin/Users/Roles/UpdateRoleDialog.razor
+++ b/Moonlight.Frontend/Admin/Users/Roles/UpdateRoleDialog.razor
@@ -1,12 +1,12 @@
@using Moonlight.Frontend.Admin.Users.Shared
@using Moonlight.Frontend.Infrastructure.Helpers
+@using Moonlight.Shared
@using Moonlight.Shared.Admin.Users.Roles
@using ShadcnBlazor.Dialogs
@using ShadcnBlazor.Extras.Forms
@using ShadcnBlazor.Extras.Toasts
@using ShadcnBlazor.Fields
@using ShadcnBlazor.Inputs
-@using SerializationContext = Moonlight.Shared.SerializationContext
@inherits ShadcnBlazor.Extras.Dialogs.DialogBase
diff --git a/Moonlight.Frontend/Admin/Users/Shared/PermissionSelector.razor b/Moonlight.Frontend/Admin/Users/Shared/PermissionSelector.razor
index f4e71ec9..f1a5bea5 100644
--- a/Moonlight.Frontend/Admin/Users/Shared/PermissionSelector.razor
+++ b/Moonlight.Frontend/Admin/Users/Shared/PermissionSelector.razor
@@ -3,6 +3,7 @@
@using ShadcnBlazor.Checkboxes
@using ShadcnBlazor.Extras.Common
@using ShadcnBlazor.Labels
+
@inject IEnumerable Providers
diff --git a/Moonlight.Frontend/Admin/Users/Users/CreateUserDialog.razor b/Moonlight.Frontend/Admin/Users/Users/CreateUserDialog.razor
index fd42c926..d197931d 100644
--- a/Moonlight.Frontend/Admin/Users/Users/CreateUserDialog.razor
+++ b/Moonlight.Frontend/Admin/Users/Users/CreateUserDialog.razor
@@ -1,17 +1,17 @@
@using Moonlight.Frontend.Infrastructure.Helpers
+@using Moonlight.Shared
@using Moonlight.Shared.Admin.Users.Users
@using ShadcnBlazor.Dialogs
@using ShadcnBlazor.Extras.Forms
@using ShadcnBlazor.Extras.Toasts
@using ShadcnBlazor.Fields
@using ShadcnBlazor.Inputs
-@using SerializationContext = Moonlight.Shared.SerializationContext
+
+@inject ToastService ToastService
+@inject HttpClient HttpClient
@inherits ShadcnBlazor.Extras.Dialogs.DialogBase
-@inject HttpClient HttpClient
-@inject ToastService ToastService
-
Create new user
diff --git a/Moonlight.Frontend/Admin/Users/Users/Users.razor b/Moonlight.Frontend/Admin/Users/Users/Index.razor
similarity index 99%
rename from Moonlight.Frontend/Admin/Users/Users/Users.razor
rename to Moonlight.Frontend/Admin/Users/Users/Index.razor
index 59ce97b2..1d3d43a7 100644
--- a/Moonlight.Frontend/Admin/Users/Users/Users.razor
+++ b/Moonlight.Frontend/Admin/Users/Users/Index.razor
@@ -11,7 +11,6 @@
@using ShadcnBlazor.Extras.Dialogs
@using ShadcnBlazor.Extras.Toasts
@using ShadcnBlazor.Tabels
-@using SerializationContext = Moonlight.Shared.SerializationContext
@inject HttpClient HttpClient
@inject AlertDialogService AlertDialogService
diff --git a/Moonlight.Frontend/Admin/Users/Users/UpdateUserDialog.razor b/Moonlight.Frontend/Admin/Users/Users/UpdateUserDialog.razor
index dea7f00f..f25dac09 100644
--- a/Moonlight.Frontend/Admin/Users/Users/UpdateUserDialog.razor
+++ b/Moonlight.Frontend/Admin/Users/Users/UpdateUserDialog.razor
@@ -1,4 +1,5 @@
@using Moonlight.Frontend.Infrastructure.Helpers
+@using Moonlight.Shared
@using Moonlight.Shared.Admin.Users.Users
@using ShadcnBlazor.Dialogs
@using ShadcnBlazor.Extras.Forms
@@ -62,7 +63,8 @@
{
var response = await HttpClient.PatchAsJsonAsync(
$"/api/admin/users/{User.Id}",
- Request
+ Request,
+ SerializationContext.Default.Options
);
if (!response.IsSuccessStatusCode)
diff --git a/Moonlight.Frontend/Infrastructure/Services/RemoteAuthProvider.cs b/Moonlight.Frontend/Infrastructure/Services/RemoteAuthProvider.cs
index 9cc4232c..3e453b87 100644
--- a/Moonlight.Frontend/Infrastructure/Services/RemoteAuthProvider.cs
+++ b/Moonlight.Frontend/Infrastructure/Services/RemoteAuthProvider.cs
@@ -3,8 +3,8 @@ using System.Net.Http.Json;
using System.Security.Claims;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.Extensions.Logging;
+using Moonlight.Shared;
using Moonlight.Shared.Shared.Auth;
-using SerializationContext = Moonlight.Shared.SerializationContext;
namespace Moonlight.Frontend.Infrastructure.Services;
diff --git a/Moonlight.Frontend/Moonlight.Frontend.csproj b/Moonlight.Frontend/Moonlight.Frontend.csproj
index cb87fd8c..63741af5 100644
--- a/Moonlight.Frontend/Moonlight.Frontend.csproj
+++ b/Moonlight.Frontend/Moonlight.Frontend.csproj
@@ -21,9 +21,9 @@
-
-
-
+
+
+
@@ -54,8 +54,6 @@
-
-
diff --git a/Moonlight.Frontend/Shared/Auth/Authentication.razor b/Moonlight.Frontend/Shared/Auth/Authentication.razor
index 71c2f888..fbfe4635 100644
--- a/Moonlight.Frontend/Shared/Auth/Authentication.razor
+++ b/Moonlight.Frontend/Shared/Auth/Authentication.razor
@@ -1,8 +1,8 @@
-@using Moonlight.Shared.Shared.Auth
+@using Moonlight.Shared
+@using Moonlight.Shared.Shared.Auth
@using ShadcnBlazor.Buttons
@using ShadcnBlazor.Cards
@using ShadcnBlazor.Spinners
-@using SerializationContext = Moonlight.Shared.SerializationContext
@inject HttpClient HttpClient
@inject NavigationManager Navigation