@page "/admin/system" @using LucideBlazor @using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Components.Authorization @using Moonlight.Shared @using ShadcnBlazor.Buttons @using ShadcnBlazor.Cards @using ShadcnBlazor.Inputs @using ShadcnBlazor.Tab @using ShadcnBlazor.Labels @inject NavigationManager Navigation @inject IAuthorizationService AuthorizationService Settings Themes API & API Keys Diagnose Instance
@if (ApiKeyAccess.Succeeded) { } @if (ThemesAccess.Succeeded) { }
@code { [SupplyParameterFromQuery(Name = "tab")] [Parameter] public string? Tab { get; set; } [CascadingParameter] public Task AuthState { get; set; } private AuthorizationResult ApiKeyAccess; private AuthorizationResult ThemesAccess; protected override async Task OnInitializedAsync() { var authState = await AuthState; ApiKeyAccess = await AuthorizationService.AuthorizeAsync(authState.User, Permissions.ApiKeys.View); ThemesAccess = await AuthorizationService.AuthorizeAsync(authState.User, Permissions.Themes.View); } private void OnTabChanged(string name) { Navigation.NavigateTo($"/admin/system?tab={name}"); } }