- Created native D1 database layer (src/lib/d1.ts) to bypass Prisma fs.readdir issues
- Updated all API routes to use direct D1 queries
- Added date-utils.ts with local date helpers to fix UTC timezone mismatch
- Calendar now correctly colors today's usage
- Data persists correctly across page refreshes
- Update prisma.ts to use getPrismaWithD1() with getCloudflareContext()
- Update all API routes to use async D1 connection
- Add open-next.config.ts for Cloudflare Workers deployment
- Add wrangler.jsonc with D1 binding and custom domain routes
- Fix TypeScript type errors in API routes and storage
- Add @workos-inc/authkit-nextjs dependency
- Remove incompatible prisma.config.ts
- Achievements system with 6 badges and confetti celebration animation
- Health recovery timeline showing 9 milestones from 20min to 1 year
- Money savings tracker with cost configuration and goal progress
- Daily reminder notifications with browser permission handling
- New Prisma models: Achievement, ReminderSettings, SavingsConfig
- API routes for all new features
- Full dashboard integration with staggered animations
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update daily quotes to 36 curated motivational quotes from notable figures
- Add entrance animations (fade-in, slide-in, scale-in) with staggered delays
- Add hover effects on cards and buttons with smooth transitions
- Improve mobile responsiveness: stacking layouts, responsive text, touch targets
- Enhance glassmorphism with stronger blur and gradient orbs on cards
- Add gradient logo for QuitTraq branding
- Improve quote section with decorative elements and inner glow
- Refine streak celebrations and weekly target indicators
- Update background with multiple color gradient spots
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implement theme context provider with localStorage persistence and add
toggle button to header. Update Dashboard, StatsCard, QuitPlanCard,
SubstanceTrackingPage, and UsageCalendar components with theme-aware
gradients and colors. Also add daily inspirational quotes to calendar
and fix usage prompt to only show once per day.