Replace raw <input>/<button>/<select> elements with Button, Card, Input,
Select, Modal, Badge, and ConfirmDialog from @/components/ui in all
non-admin and admin pages. Removes ~550 lines of inline Tailwind utility
classes from form elements while keeping all business logic intact.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- h-screen with overflow-hidden so messages scroll within viewport
- Sidebar is slide-over on mobile (fixed + overlay) with translate animation
- Sidebar defaults closed; auto-selects first session on load
- Empty state when no session selected with "New Chat" CTA
- Typing indicator with animated bouncing dots
- Chat bubbles properly aligned (user right, AI left) with rounded corners
- Delete confirm moved to its own modal (not nested in session list item)
- Removed stale debug console.log
- Dark mode fixes: border, hover states, disabled button
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add dark mode support throughout
- Add consistent header with back button
- Add modal dark mode styling
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Single JOIN query instead of N+1 selects for sessions
- Auto-create session when sending without one
- Send button enabled when typing
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add error state to display API errors
- Safe guard sessions.map with (sessions || [])
- Show error message on API failure
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add back link (←) to /menu in header
- Send button: gray out while loading to prevent double-click
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add signout button to menu (below Settings)
- Fix profile API to fetch user from database session
- Fix profile page to save name to database
- Fix settings page to use familyId from FamilyProvider
- Fix family page to use FamilyProvider
- Fix activity, ai, medical, memories pages to use FamilyProvider
- Remove all hardcoded "default" familyId and childId values
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add chat_sessions and chat_messages tables
- Create /api/chat endpoint for CRUD operations
- Update home page and /ai page to use database
- All chat history now persists across sessions and devices
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>