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>
36 lines
1.8 KiB
Markdown
36 lines
1.8 KiB
Markdown
## Why
|
|
|
|
The project exists to be a working AI chat interface, but there is no chat UI yet — only a health check page. This change builds the foundational chat experience using MudBlazor components, with hardcoded responses so the UI can be developed and tested independently of the OpenAI API integration.
|
|
|
|
## What Changes
|
|
|
|
- Install and configure MudBlazor in the Client project (NuGet, CSS/JS, providers, imports)
|
|
- Replace the Bootstrap navbar/layout with a MudBlazor layout (MudLayout, MudAppBar, MudMainContent)
|
|
- Create a Chat page with a message list and text input, styled after ChatGPT/Gemini
|
|
- Add a shared `ChatMessage` model (role + content + timestamp)
|
|
- Wire the input to append user messages and reply with a hardcoded bot response
|
|
- Remove template pages (Counter, Weather) that are no longer needed
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
- `chat-ui`: The chat interface — message display, input handling, auto-scroll, and layout
|
|
- `mudblazor-setup`: MudBlazor installation, theming, and provider configuration
|
|
|
|
### Modified Capabilities
|
|
<!-- None -->
|
|
|
|
## Impact
|
|
|
|
- `src/ChatAgent.Client/ChatAgent.Client.csproj`: Add MudBlazor package
|
|
- `src/ChatAgent.Client/wwwroot/index.html`: Add MudBlazor CSS/JS/font links
|
|
- `src/ChatAgent.Client/_Imports.razor`: Add MudBlazor using
|
|
- `src/ChatAgent.Client/Program.cs`: Add MudBlazor services
|
|
- `src/ChatAgent.Client/Layout/MainLayout.razor`: Replace with MudBlazor layout
|
|
- `src/ChatAgent.Client/Layout/NavMenu.razor`: Replace or remove Bootstrap nav
|
|
- `src/ChatAgent.Client/Pages/Chat.razor`: New chat page (becomes default route)
|
|
- `src/ChatAgent.Client/Pages/Home.razor`: Demote from `/` route or keep as `/health`
|
|
- `src/ChatAgent.Shared/Models/ChatMessage.cs`: New shared message model
|
|
- `src/ChatAgent.Client/Pages/Counter.razor`: Remove
|
|
- `src/ChatAgent.Client/Pages/Weather.razor`: Remove
|