40 Commits

Author SHA1 Message Date
Avery Felts
e8f47993a9 fix desktop dashboard regressions and one-time v1.1 release notes 2026-02-24 02:31:04 -07:00
Avery Felts
e5b3f649be changes 2026-02-24 02:03:27 -07:00
Avery Felts
371c1e4618 Restructure desktop dashboard layout
- Separate desktop and mobile layouts completely
- Desktop: Mood+Plan, Calendar, Achievements+Health, Savings+Stats
- Mobile: Keep original 4-slide swipe layout unchanged
2026-02-01 22:41:33 -07:00
Avery Felts
7ee0aff52f Fix usage timestamp persistence and clean up debug code 2026-02-01 12:09:42 -07:00
Avery Felts
4e8fe2a91c feat: security hardening and v1.0 update modal
- Implemented HMAC-signed session cookies for enhanced security
- Added robust input validation for usage, preferences, and mood APIs
- Added VersionUpdateModal to announce v1.0 features
- Integrated update modal into Dashboard
2026-02-01 01:55:53 -07:00
Avery Felts
5e64ea2f9e Fix: Remove automatic Log Usage trigger on launch/PWA 2026-01-31 18:50:24 -07:00
Avery Felts
2e06aa833a Fix: Restore missing buttons by refining UI state logic 2026-01-31 18:31:37 -07:00
Avery Felts
af6ac933ee Refactor: New Log Usage UI with dynamic drop-up and scroll-wheel logger 2026-01-31 18:28:19 -07:00
Avery Felts
3a31c8a956 Refactor: Unified independent quit plans for Nicotine and Weed, fixed persistence, and upgraded UI with expandable sections 2026-01-31 17:37:25 -07:00
Avery Felts
75a75fd499 feat: Implement independent nicotine/weed quit plans with refined UI and auto-unlock logic 2026-01-31 17:12:01 -07:00
Avery Felts
3cf2e805f2 PWA optimizations, bug fixes, time adjustment, and reduced loading / typescript conversion 2026-01-28 10:11:06 -07:00
Avery Felts
4dec6adc1c Upscale nav buttons and tighten mobile dashboard layout to prevent overscroll and empty space 2026-01-28 08:54:07 -07:00
Avery Felts
35b2ec9e8c Add sleek mobile navigation buttons to dashboard with theme support and synced scroll tracking 2026-01-28 08:48:17 -07:00
Avery Felts
4f44182b59 Restructure mobile dashboard swipe flow into 4 logical pages 2026-01-28 08:41:55 -07:00
Avery Felts
0d0258de97 Fix broken mobile layout, sidebar portal, and header animations 2026-01-28 01:50:56 -07:00
Avery Felts
f5363fea7c UI Overhaul: Side Menu, Centered Brand Header, and Swipe Ecosystem for Placards 2026-01-28 00:57:40 -07:00
Avery Felts
38e7bb178f Mobile experience enhancements: fixed fog texture, padding adjustments, and dvh support 2026-01-27 20:21:16 -07:00
Avery Felts
c518ad9f34 Fix mood tracker affirmation bug and add dynamic background 2026-01-27 17:59:05 -07:00
Avery Felts
1556cf69c6 Fix variable scope error in Dashboard.tsx 2026-01-27 14:09:26 -07:00
Avery Felts
60affa9a77 Fix immediate achievement celebration and reliable notification delivery 2026-01-27 14:05:40 -07:00
Avery Felts
29c11fcaa5 feat: Add PWA auto-prompt and header edge blur effect
- Usage prompt auto-shows when app accessed as home screen shortcut (PWA mode)
- Added blur gradient overlay below header for smooth scroll fade effect
2026-01-25 18:27:02 -07:00
Avery Felts
7dd5e6359a feat: Remove Muslim and Jewish options, keep only Christian (KJV) and Secular quotes 2026-01-25 18:18:35 -07:00
Avery Felts
bf9da84553 fix: Replace Prisma with native D1 and fix timezone issues
- 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
2026-01-25 18:10:04 -07:00
Avery Felts
9cb176d5a4 Update quit smoking website 2026-01-25 12:30:09 -07:00
Avery Felts
f13bd09bd4 fix: precise timestamp tracking for health timeline 2026-01-25 11:16:32 -07:00
Avery Felts
4ad4bd0884 feat: add daily religious verse placard with user preference support 2026-01-25 10:31:27 -07:00
Avery Felts
edfc978217 Optimize performance, fix theme consistency, and improve notification UX 2026-01-24 13:11:43 -07:00
Avery Felts
2491c79b0a Improve achievements, move reminders to header, and reset health timeline on usage 2026-01-24 12:00:22 -07:00
Avery Felts
54b7a294f5 Add achievements, health timeline, savings tracker, and reminders features
- 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>
2026-01-24 11:38:46 -07:00
Avery Felts
45bcad9788 Add UI polish: animations, mobile responsiveness, and visual enhancements
- 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>
2026-01-24 11:18:38 -07:00
Avery Felts
fac443c281 Add dark/light theme toggle with adaptive styling
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.
2026-01-24 03:17:09 -07:00
Avery Felts
ec0d83586d Add QuitPlanCard with 7-day tracking and personalized quit plan
- Restore QuitPlanCard component under calendar on dashboard
- Yellow gradient during tracking phase (before 7 days of data)
- Pink gradient when quit plan is active
- Track unique days with logged data for countdown
- Generate 4-week plan with 25% weekly reduction
- White text throughout for readability

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 01:45:59 -07:00
Avery Felts
85cdf95174 Add dynamic status messages and improve UI styling
- Add today's status message on tracking pages:
  - "Great job, nothing yet!" when no usage logged
  - "{count} recorded, you got this!" when usage exists
- Increase Log Usage button size (h-16, px-8, text-lg)
- Add drop shadows to:
  - Log Usage floating button
  - Calendar card
  - Stats cards
  - Trend graph card
  - Substance header on tracking pages

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 01:36:50 -07:00
Avery Felts
4a26c1ccdc Add dual substance tracking with dedicated pages and enhanced UI
- Add dropdown menu on profile icon with navigation options
- Create separate tracking pages for Nicotine and Marijuana
- Add interactive usage trend graphs using recharts
- Update Log Usage button to prompt for substance selection each time
- Update calendar to show different colors:
  - Gray: No usage
  - Red: Nicotine only
  - Green: Marijuana only
  - Split red/green: Both substances
- Add substance-specific stats cards on dashboard
- Add inspirational message "One day at a time..." on tracking pages
- Show both substance counts in calendar day cells

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 01:20:59 -07:00
Avery Felts
750c5af465 Switch from localStorage to SQLite database for persistent storage
- Add Prisma ORM with SQLite for server-side data persistence
- Create UserPreferences and UsageEntry models
- Add API routes for preferences and usage data CRUD operations
- Update storage.ts to use fetch API calls instead of localStorage
- Update components to use async data fetching
- Data now persists across devices for each user account

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 01:08:10 -07:00
Avery Felts
498b7b4dea Sync stats and calendar updates using shared refresh key
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 22:03:01 -07:00
Avery Felts
39a1e858fb Fix per-user data isolation by passing userId explicitly to all storage operations
- Pass user.id explicitly to all storage function calls instead of relying on global state
- Add userId prop to UsageCalendar and UsagePromptDialog components
- Fix UserHeader to use user.id when fetching preferences
- Add refreshKey to force calendar re-render after logging usage

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 22:01:16 -07:00
Avery Felts
a244e740c9 Store data per-user using unique account ID
- Add user ID prefix to all localStorage keys
- Each user now has isolated data storage
- New users see fresh setup wizard
- Switching accounts loads that user's specific data

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 21:52:00 -07:00
Avery Felts
9918432686 Update UI and add user personalization features
- Rename app from QuitTrack to QuitTraq
- Add metallic dark gradient background
- Change header to light purple gradient
- Add name and age collection in setup wizard
- Display personalized "Welcome {name}, you got this!" message
- Hide username/email, show only profile picture
- Change calendar to red gradient for usage days
- Update logging prompt to "just took" instead of daily total
- Add floating "Log Puff" button for easy access
- Fix calendar editing to properly update values
- Add glass-morphism effect to cards

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 21:40:59 -07:00
Avery Felts
a812e6342c Implement QuitTrack smoking cessation tracking app
- Add WorkOS SSO authentication (Google and Apple sign-in)
- Add daily usage tracking with calendar view
- Add setup wizard for substance selection (nicotine/cannabis)
- Add daily check-in prompt on login
- Add statistics dashboard (daily avg, streak, etc.)
- Add quit plan generation after 7 days of tracking
- Apply custom theme from brief.md
- Add "stay logged in" preference

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 21:25:01 -07:00