39 Commits

Author SHA1 Message Date
Avery Felts
4028700268 Optimize calendar: remove header text, style nav buttons 2026-01-25 19:35:11 -07:00
Avery Felts
fee5c91958 Optimize usage calendar for mobile: fluid width, remove borders, adjust padding 2026-01-25 19:23:42 -07:00
Avery Felts
10dd95be60 style: Refine mobile calendar fit and padding 2026-01-25 19:12:24 -07:00
Avery Felts
b78640bffb style: Maximize usage calendar on mobile (full bleed) 2026-01-25 18:57:29 -07:00
Avery Felts
71c241b7c1 style: Fix desktop calendar layout and add clean mobile border 2026-01-25 18:53:03 -07:00
Avery Felts
632ccd2cc4 style: Improve usage calendar sizing on mobile devices 2026-01-25 18:40:38 -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
14c45eeb24 feat: Add D1 database integration with proper Cloudflare Workers support
- 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
2026-01-25 17:21:36 -07:00
Avery Felts
92c710287b chore: update .gitignore to prevent .next duplicates 2026-01-25 16:04:37 -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
8d79f63232 Cleanup header navigation: remove redundant dashboard link from profile menu 2026-01-24 13:20:52 -07:00
Avery Felts
4d65ac0360 Refactor header navigation to hamburger menu 2026-01-24 13:17:23 -07:00
Avery Felts
edfc978217 Optimize performance, fix theme consistency, and improve notification UX 2026-01-24 13:11:43 -07:00
Avery Felts
359908caf5 Style savings dialog with dark green theme and empty default values 2026-01-24 12:29:35 -07:00
Avery Felts
94a4f3adfd Change savings tracking from daily to weekly units for more accurate calculations 2026-01-24 12:11:08 -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
26e64ac572 Brighten stats card background gradients
- Increased gradient opacity from 5% to 20%
- Added secondary gradient color for depth
- Slightly increased border opacity

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 01:39:51 -07:00
Avery Felts
f82c88f892 Change header banner to black/dark blue gradient
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 01:38:42 -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
6f887fbcda Update calendar colors: light blue for no usage, gold for today
- Days with no tracking now show light blue gradient
- Current day (today) shows light gold gradient when no usage
- Gold ring around today for visibility
- Today shows substance colors if usage is logged
- Updated legend to include Today indicator

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 01:28:41 -07:00
Avery Felts
d07e1bc8fb Fix stats boxes to use dark transparent background with white text
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 01:26:37 -07:00
Avery Felts
b15f9a3c8e Fix stats card text to white and improve dropdown menu visibility
- Update stats card text to white for better visibility
- Add chevron down icon to dropdown trigger for clearer interaction
- Style dropdown menu with dark background and proper z-index
- Improve dropdown menu item hover states
- Make dropdown trigger more visible with background

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 01:24:56 -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
cab5e5810a Add clear day option to calendar
- Add clearDayData function to remove specific day's usage
- Add "Clear This Day" button in calendar edit dialog
- Allows users to reset individual days without clearing all data

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 21:45:04 -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
Avery Felts
76a4b617b1 Initial commit from Create Next App 2026-01-23 21:13:15 -07:00