- Add hooks (useAuth, useSubscription, useNotifications) for real API data
- Add auth service (login/signup) with password hashing and session support
- Replace stub auth with real tRPC calls in login/signup/onboarding pages
- Replace mock dashboard data with real API data from hooks
- Create service pages: DarkWatch, VoicePrint, SpamShield, HomeTitle, RemoveBrokers, Settings
- Update Navbar, TopBar, Sidebar with real user data and correct routes
- Add passwordHash field to users schema for credential auth
- Fix tests to work with real hooks (mock tRPC/hooks)
- Convert theme to SolidJS Context/Provider pattern (ThemeProvider)
- Extract createThemeState() for testability without context
- Add Typewriter component with character-by-character reveal
- Animate ThemeToggle with Typewriter label and hover scale
- Add cursor CSS animations (typewriter-blink, cursor-typing, cursor-block)
- Fix background color transition by using 'all' on :root
- Rename theme.ts -> theme.tsx for JSX support
- All 26 theme tests passing
- Navbar: responsive nav with ShieldAI logo, nav links, auth buttons,
mobile hamburger menu, theme toggle, scroll-aware glass effect
- Footer: multi-column responsive layout with product/company/resources/
legal links, social icons, copyright bar
- PageContainer: centered wrapper with max-w-7xl and responsive padding
- AppShell: root layout composing Navbar + main + Footer with dot-grid
background and MetaProvider
- useAuth stub hook for future auth integration (task 23)
- Wire AppShell into app.tsx as Router root
- Unit tests for PageContainer and useAuth