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.8 KiB
1.8 KiB
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
ChatMessagemodel (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 layoutmudblazor-setup: MudBlazor installation, theming, and provider configuration
Modified Capabilities
Impact
src/ChatAgent.Client/ChatAgent.Client.csproj: Add MudBlazor packagesrc/ChatAgent.Client/wwwroot/index.html: Add MudBlazor CSS/JS/font linkssrc/ChatAgent.Client/_Imports.razor: Add MudBlazor usingsrc/ChatAgent.Client/Program.cs: Add MudBlazor servicessrc/ChatAgent.Client/Layout/MainLayout.razor: Replace with MudBlazor layoutsrc/ChatAgent.Client/Layout/NavMenu.razor: Replace or remove Bootstrap navsrc/ChatAgent.Client/Pages/Chat.razor: New chat page (becomes default route)src/ChatAgent.Client/Pages/Home.razor: Demote from/route or keep as/healthsrc/ChatAgent.Shared/Models/ChatMessage.cs: New shared message modelsrc/ChatAgent.Client/Pages/Counter.razor: Removesrc/ChatAgent.Client/Pages/Weather.razor: Remove