Commit Graph

7 Commits

Author SHA1 Message Date
Gemini Agent
83ee6eefec Add multi-provider LLM support with model selection
- Support OpenRouter, OpenAI, and Anthropic providers
- Fetch available models after entering API key
- OpenRouter sorted by price (cheapest first)
- Store provider, model, and key per user
- Update reflections API to use selected provider/model

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:23:31 +00:00
Gemini Agent
9711baf54e Disable autosave - require explicit save button click
Autosave was causing issues with race conditions creating
duplicate entries. Simpler to just require manual save.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:12:41 +00:00
Gemini Agent
e99401858f Fix race condition causing duplicate entries during autosave
Use refs to track entry ID and prevent concurrent saves.
When a save is in progress, queue the next save instead of
starting a new one.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:08:33 +00:00
Gemini Agent
504f07a106 Add multiple entries per day, user management, reminders, and AI reflections
- Multiple entries per day: Home page now starts fresh, Save & New button
- Admin user management: Add/delete users, reset passwords, toggle admin
- Daily reminders: Browser notifications at configurable time
- AI reflections: Generate insights from entries using Claude API
- Remove cloud sync placeholder (already have user accounts)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:05:39 +00:00
Gemini Agent
bd6703b24b Add assetPrefix for Tailscale funnel path routing
Assets need to be prefixed with /quietthanks so browsers request
them at the correct path when the app is served under /quietthanks.
Tailscale strips the prefix when proxying to the backend.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 06:37:47 +00:00
Gemini Agent
1455b0acd1 Add user authentication with login/register
- Add users and sessions tables to database schema
- Add bcryptjs for password hashing
- Create auth API routes (login, register, logout, me)
- Add AuthProvider context for client-side auth state
- Update all API routes to require authentication and filter by userId
- Create login and register pages
- Add AppShell component for authenticated layout
- Update all pages to use AppShell and show user info
- Each user now has their own private entries and tags

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 06:18:41 +00:00
Gemini Agent
5555c1e6b5 Initial commit: Quiet Thanks gratitude app
A calm, private gratitude and mood log built with Next.js 16, TypeScript,
Tailwind CSS, and SQLite/Drizzle ORM.

Features:
- Quick check-in with autosave (800ms debounce)
- Optional mood selector (5 levels) with accessibility labels
- Optional tags with tap-to-add from recent
- Timeline with weekly reflection card
- Filters by mood, tag, and rough day
- Export to Markdown and JSON
- Dark mode default
- Delete with undo toast
- Docker deployment ready

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 01:57:20 +00:00