- Replace svelte-gestures with native touch event handlers
- Add invalidateAll() after save/delete for seamless list updates
- Add $effect to sync edit state when entry prop changes
- Improve swipe animation with isSwiping state tracking
- Install svelte-gestures package for touch gesture support
- Add useSwipe hook to EntryCard for left-swipe detection
- Implement delete confirmation overlay on swipe
- Add red delete background revealed during swipe
- Maintain desktop delete button in expanded view
- Create CompletedToggle component with checkbox UI
- Add showCompleted URL param to +page.server.ts load function
- Update +page.svelte to sync preferences with URL
- Toggle state persists in localStorage via preferences store
- Clicking toggle updates URL and invalidates data for server filter
- Add expanded state for expand/collapse toggle
- Implement inline editing for title, content, and type
- Add 400ms debounced auto-save using fetch to ?/update
- Show 'Saving...' indicator during save
- Add delete button with confirmation dialog
- Use Svelte slide transition for smooth expand/collapse
- Fix button nesting by restructuring layout
- QuickCapture fixed at bottom with type selector and submit button
- Uses enhance for progressive form enhancement
- Persists last used type via preferences store
- Clears form on successful submit
- Main page composes EntryList and QuickCapture
- Adequate bottom padding (pb-40) for capture bar clearance
- Sticky header with app title
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- EntryCard displays entry with type indicator (checkbox/badge)
- Tasks have checkbox for toggle completion via form action
- Thoughts show purple "T" badge indicator
- Completed tasks show strikethrough styling
- EntryList renders entries with mobile compact/desktop card layout
- Type badge shows blue for task, purple for thought
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Install svelte-persisted-store for localStorage persistence
- Create preferences store with lastEntryType and showCompleted
- Sticky type preference across sessions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add getOrdered(options?) method to EntryRepository interface
- Implement filtering for completed entries (showCompleted option)
- Order by type ASC (task before thought), then createdAt DESC
- Import asc, ne operators from drizzle-orm
- Implement EntryRepository interface with create, getById, getAll, update, delete, count
- SQLiteEntryRepository class using Drizzle ORM
- Automatic ID generation with nanoid
- Automatic timestamp management (createdAt, updatedAt)
- Pagination support via limit/offset
- Singleton pattern for consistent access
- SvelteKit minimal template with TypeScript
- Tailwind CSS v4 with @tailwindcss/vite plugin
- ESLint and Prettier for code quality
- Dependencies: better-sqlite3, drizzle-orm, nanoid, zod
- Dev server runs on localhost:5173