Install MudBlazor 9.2.0, replace Bootstrap layout with MudLayout/MudAppBar, create Chat.razor with message list, text input, auto-scroll, and hardcoded responses. Add ChatMessage shared model. Remove template pages (Counter, Weather), move health check to /health. Include OpenSpec change artifacts for the upcoming wire-responses-api work. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.6 KiB
1.6 KiB
ADDED Requirements
Requirement: MudBlazor package installed
The Client project SHALL have MudBlazor 9.2.0 installed as a NuGet dependency.
Scenario: Package reference present
- WHEN the Client project is built
- THEN MudBlazor 9.2.0 is resolved as a dependency
Requirement: MudBlazor services registered
MudBlazor services SHALL be registered in the Client's DI container via AddMudServices().
Scenario: Services available
- WHEN the application starts
- THEN MudBlazor services (snackbar, dialog, etc.) are available for injection
Requirement: MudBlazor assets loaded
The Client's index.html SHALL include MudBlazor CSS, JS, and font references.
Scenario: Styles and scripts present
- WHEN the application loads in the browser
- THEN MudBlazor CSS (
_content/MudBlazor/MudBlazor.min.css), JS (_content/MudBlazor/MudBlazor.min.js), and Material Design Icons font are loaded
Requirement: MudBlazor layout providers
The app root SHALL include MudThemeProvider, MudPopoverProvider, and MudDialogProvider so MudBlazor components function correctly.
Scenario: Providers present
- WHEN any MudBlazor component is rendered
- THEN it functions correctly because the required providers are in the component tree
Requirement: MudBlazor layout replaces Bootstrap
The application layout SHALL use MudBlazor layout components (MudLayout, MudAppBar, MudMainContent) instead of the current Bootstrap navbar.
Scenario: Layout renders with MudBlazor
- WHEN any page is displayed
- THEN the page is wrapped in a MudBlazor layout with an app bar showing the application name