@page "/admin/system/themes/create" @using Microsoft.AspNetCore.Authorization @using Moonlight.Shared @using LucideBlazor @using Moonlight.Shared.Http.Requests.Themes @using ShadcnBlazor.Buttons @using ShadcnBlazor.Labels @using ShadcnBlazor.Cards @using ShadcnBlazor.Checkboxes @using ShadcnBlazor.Extras.Editors @using ShadcnBlazor.Extras.FormHandlers @using ShadcnBlazor.Extras.Toasts @using ShadcnBlazor.Inputs @attribute [Authorize(Policy = Permissions.Themes.Create)] @inject HttpClient HttpClient @inject NavigationManager Navigation @inject ToastService ToastService

Create theme

Create a new theme
@code { private CreateThemeDto Request = new() { CssContent = "/* Define your css here */" }; private FormHandler Form; private Editor Editor; private async Task SubmitAsync() { Request.CssContent = await Editor.GetValueAsync(); await Form.SubmitAsync(); } private async Task OnSubmitAsync() { await HttpClient.PostAsJsonAsync( "/api/admin/themes", Request, Constants.SerializerOptions ); await ToastService.SuccessAsync( "Theme creation", $"Successfully created theme {Request.Name}" ); Navigation.NavigateTo("/admin/system?tab=themes"); } }