@page "/settings/chapter" @attribute [Authorize(Roles = AuthRoles.Administrator)] @using WebApp.Authentication @using WebApp.Models @using WebApp.Components.Shared.Components @using WebApp.Services @using Core.Models @inject IConfiguration Configuration @inject IChapterSettingsWriter ChapterSettingsWriter @rendermode InteractiveServer @if (_settings != null) { Basic Information Both (MS and HS) Middle School (MS) High School (HS) Chapter IDs @if (_isSaving) { Saving... } else { Save Settings } @if (!string.IsNullOrEmpty(_statusMessage)) { @_statusMessage } } else { } @code { private Models.ChapterSettings? _settings; private bool _isSaving; private string? _statusMessage; private Severity _statusSeverity = Severity.Success; protected override void OnInitialized() { _settings = Configuration.GetSection("ChapterSettings").Get() ?? new Models.ChapterSettings(); } private async Task SaveSettings() { if (_settings == null) return; _isSaving = true; _statusMessage = null; try { await ChapterSettingsWriter.WriteAsync(_settings); _statusMessage = "Settings saved successfully! Changes will take effect on next application restart."; _statusSeverity = Severity.Success; } catch (Exception ex) { _statusMessage = $"Error saving settings: {ex.Message}"; _statusSeverity = Severity.Error; } finally { _isSaving = false; } } }