-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
effort/L🌳 L: 1-2 days (complex feature, multiple components)🌳 L: 1-2 days (complex feature, multiple components)enhancementNew feature or requestNew feature or requestphase/MVPMVP scopeMVP scopepriority/P4💡 Future enhancement - evaluate for later phases💡 Future enhancement - evaluate for later phases
Milestone
Description
Summary
Set up Blazor WebAssembly project for admin UI.
Architecture Reference
See ADR-0010 for complete Admin UI architecture decisions.
Key Decisions
- Component Library: MudBlazor
- State Management: Simple injectable services (upgrade to Fluxor if needed)
- Testing: bUnit for components, Playwright for E2E
- Map Integration: MapLibre GL JS via JS Interop
- Hosting: Support both integrated (/admin) and standalone (S3/CDN)
Tasks
- Create Honua.Admin Blazor WASM project
- Add MudBlazor package reference
- Configure MudBlazor in Program.cs
- Create basic layout with AppBar and NavMenu
- Configure /admin path routing in server
- Create HonuaApiClient service class
- Add authentication integration scaffolding
- Configure CORS for standalone hosting
- Add bUnit test project
- Document admin UI setup
Hosting Options
// Program.cs - Support both integrated and standalone hosting
if (builder.Configuration.GetValue<bool>("ServeAdminUI", true))
{
app.MapFallbackToFile("/admin/{*path:nonfile}", "admin/index.html");
}Package References
<PackageReference Include="MudBlazor" Version="7.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="9.*" />Acceptance Criteria
- Honua.Admin project created
- MudBlazor installed and configured
- Basic layout with MudBlazor AppBar and NavMenu
- Served from /admin path (integrated mode)
- API client service scaffolded (HonuaApiClient.cs)
- Authentication integration ready
- CORS configured for standalone hosting option
Blocking Issue
Test Plan
- Admin UI loads at /admin
- Navigation works between pages
- MudBlazor components render correctly
Metadata
Metadata
Assignees
Labels
effort/L🌳 L: 1-2 days (complex feature, multiple components)🌳 L: 1-2 days (complex feature, multiple components)enhancementNew feature or requestNew feature or requestphase/MVPMVP scopeMVP scopepriority/P4💡 Future enhancement - evaluate for later phases💡 Future enhancement - evaluate for later phases