- Add --text-accent CSS variable (light purple #c4b5fd)
- Keep --accent for backgrounds only (dark purple #2e0a5d)
- Update Assistant name color to use --text-accent
- Update drawer section headers to use --text-accent
- Update streaming label to use --text-accent
- All purple text is now much lighter for readability
- Backgrounds retain the dark purple shade
- All 52 tests passing, build successful
- Accent: #1e0b3d → #2e0a5d
- Accent-hover: #240d48 → #3a0d75
- Accent-light: #2e1f52 → #4a1f95
Purple is now more visible while still being easier on the eyes than the original blue. Used for Assistant names, streaming badges, code block headers, toggle active state, and drawer section headers.
All 52 tests passing, build successful
- User messages: var(--bg-tertiary) instead of accent color
- Assistant messages: var(--bg-secondary) (unchanged)
- User bubbles: slightly lighter gray (1f1f1f) than assistant (1a1a1a)
- User bubble border: var(--border-light) for subtle distinction
- User label color: var(--text-secondary) instead of white
- Both message types now have consistent text color (var(--text-primary))
- Streaming bubble unchanged (assistant style)
- All 52 tests passing
- Add remark-gfm for GitHub Flavored Markdown support
- Create dedicated MarkdownContent component
- Improved message bubble padding (16px 20px) for better spacing
- Code blocks now in separate box with dark background (#1e1e1e)
- Code blocks show language label in blue accent header
- Fixed list indentation to align properly with message text
- Lists have consistent spacing (margin/padding)
- Better blockquote styling with background and border
- Improved table styling with borders and alternating row colors
- Support for all common Markdown elements (headings, links, bold, italic, hr)
- All 52 tests passing
- Use flexbox to horizontally center session title
- Add absolute positioned spacer for menu button
- Session name now perfectly centered in the top bar
- Message count and streaming badge remain centered below
- Export button stays on the right side
- All 52 tests passing
- Remove all button shine/hover animations from CSS
- Replace all emoji with text labels
- Fix header padding to prevent overlap with drawer
- Added left padding (80px) to header content
- Session name is now fully visible
- Simplified empty states without icons
- Updated delete button text from icon to 'Del'
- Menu button now shows 'Menu' text instead of hamburger icon
- All 52 tests passing
UI Improvements:
- Modern gradient buttons with hover effects and shine animation
- Better typography and spacing throughout the app
- Improved session cards with message count and timestamps
- Better styled input fields with focus states
- Smooth transitions and animations
- Added emoji icons for better visual cues
- Improved empty states with icons and better messaging
New Features:
- Added streaming toggle button in API configuration
- Real-time streaming response support with live token display
- Stop button to cancel streaming requests
- Message count display in header
- STREAMING indicator badge when enabled
- AbortController support for request cancellation
- Export now includes streaming status
Technical Changes:
- Added sendMessageStream function to llmApi
- Added streaming field to Config interface
- Updated all components to support streaming mode
- All 52 tests passing