@page "/setup" @rendermode InteractiveServer @inject AdminConfigService AdminConfig @inject NavigationManager Navigation First-Time Setup @if (!AdminConfig.IsConfigured) {

First-Time Setup

Welcome to the CannedNet Admin Panel. Before you can log in, please configure the connection to your CannedNet server.

@if (saved) {
Settings saved! Redirecting to login...
} @if (error) {
@errorMessage
}
} else {

Already configured. Go to login.

} @code { private AdminConfigService.AdminConfigData edit = new(); private bool saving; private bool saved; private bool error; private string errorMessage = ""; private async Task Save() { saving = true; saved = false; error = false; errorMessage = ""; try { if (string.IsNullOrWhiteSpace(edit.ServerBaseUrl)) { error = true; errorMessage = "Server Base URL is required."; return; } if (!Uri.TryCreate(edit.ServerBaseUrl, UriKind.Absolute, out _)) { error = true; errorMessage = "Server Base URL is not a valid absolute URL."; return; } AdminConfig.Save(edit); saved = true; await Task.Delay(1000); Navigation.NavigateTo("/login", forceLoad: true); } finally { saving = false; } } }