- Removed bottom-center resize handle from GridTaskBlock
- Ensured hover menu is always visible and unclipped for all task heights
- Widened settings sidebar to 480px for better tab spacing
- Fixed conditional rendering of quote settings in WeeklyView
- Removed boxed background from grid tasks and added hover-only resize handle
- Fixed vertical drop calculation using correct cell sizes
- Aligned time column header perfectly using a structural ghost replica
- Added collision detection to prevent dragging tasks over occupied slots
- Move all-day event position toggle from toolbar into Settings > General tab
- Render current time label in the time column (left of the red dot line)
- Add note icon on tasks with markdownContent, with hover tooltip
- Add English and German translations for all-day position setting
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds full OAuth2 flow, bidirectional task sync, calendar event CRUD,
caching with background refresh, and shared token management for
Microsoft/Outlook services. Extracts common token refresh logic into
shared outlook-token.ts utility.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add soft-delete support for tasks with deletedAt field and migration.
Remove Apple Reminders iCloud integration entirely (API routes, lib,
UI modal, and Python script) in favor of CalDAV approach. Add periodic
pull-sync from Google Tasks every 2 minutes with deletion detection.
Fix orphaned someday task rescue and cross-list task toggle/edit.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace broken CloudKit/pyicloud Apple Reminders integration with
CalDAV-based approach (getAppleReminderLists, fetchTasks from
apple-calendar.ts) in tasks/lists, tasks/import, and tasks/sync routes
- Restore calendar date picker icon in header for jump-to-date navigation
- Add goalScope field to User model with migration
- Force-dynamic Google OAuth routes to fix redirect issues
- Update Google Tasks client and sync logic
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix Google OAuth callback to redirect using NEXTAUTH_URL (prevents session loss behind reverse proxy)
- Create/update Account record during Google OAuth callback so Google Tasks API has access tokens
- Remove legacy CalDAV fallback from Apple Reminders - only use CloudKit (iOS 13+ Reminders app)
- Add debug command to icloud-reminders.py for diagnosing CloudKit connectivity
- Improve profile save error messages to show details
- Add better error logging throughout CloudKit reminders flow
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Save edited quotes as weekly goals on blur (header + settings panel)
- Fresh quote shown when navigating between weeks (no stale cache)
- Add goal font family, size, and weight settings with UI controls
- Lower calendar event z-index so tasks are always draggable on top
- Set line-height: initial on task items for consistent rendering
- Fix Google Tasks auth scope from tasks.readonly to tasks (read/write)
- Add Google Tasks update/delete functions for bidirectional sync
- Sync task renames and deletes back to Google Tasks
- Add goal font fields to Prisma schema and profile API
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add Google Tasks integration and Apple Reminders support
- Add task import/export with list management APIs
- Add goal API for weekly goals
- Add German holidays library
- Add ImportListModal component
- Enhance WeeklyView with major UI improvements
- Enhance CalendarSettings with new connection options
- Add external task fields to database schema
- Add Playwright test suites for auth and tasks
- Add iCloud reminders Python scripts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Refactored SettingsModal to a slide-in SettingsSidebar
- Added comprehensive preference toggles (Someday, All-Day, Schedule)
- Integrated Google Fonts selection (Headline/Body/Weight)
- Synchronized all preferences with DB and WeeklyView state
- Fixed sidebar positioning and overlay CSS
- Implemented View Transition API for Week Navigation (simultaneous slide-out/slide-in).
- Added Task Action Icons (Notes, Delete) to Time Grid tasks.
- Refactored navigate function to use startViewTransition.
- Updated globals.css with View Transition keyframes and rules.
- Improved calendar event display with better visual distinction
- Enhanced drag-and-drop feedback and visual cues
- Added loading states and error handling
- Improved responsive design and accessibility
- Updated styling for consistency across components
- Refined calendar settings UI with clearer visual feedback
- Added better sync status indicators
- Improved connection management with confirmation dialogs
- Enhanced error handling and user feedback
- Standardized task form styling with better validation
- Improved form accessibility and user feedback
- Added loading states for task operations
- Enhanced task item styling with better visual hierarchy
- Improved edit/delete functionality with icons
- Added better hover states and transitions
- Refined task list with better empty state messaging
- Improved accessibility for screen readers
- Enhanced loading indicators
- Created TaskList component with WeeklyTaskItem
- Created WeeklyCalendarView component with drag-and-drop functionality
- Created main tasks page with integration
- Added TaskForm component for creating new tasks
- Implemented navigation controls for week switching
- Added responsive styling for all components
Files created:
- src/components/TaskList.tsx
- src/components/WeeklyCalendarView.tsx
- src/app/tasks/page.tsx
- src/components/TaskForm.tsx
- src/components/WeeklyTaskItem.tsx
- src/app/globals.css
- Added Task model to Prisma schema with id, title, description, completed, createdAt, updatedAt fields
- Created POST /api/tasks endpoint for task creation
- Created GET /api/tasks endpoint for retrieving all tasks
- Created PUT /api/tasks/:id endpoint for updating tasks
- Created DELETE /api/tasks/:id endpoint for deleting tasks
- Created PATCH /api/tasks/:id/complete endpoint for toggling task completion
- Created TaskItem component for displaying and editing tasks
- Defined Task TypeScript interface
- All endpoints include proper validation and error handling
- Extended Task type with recurring, category, reminder, and priority properties
- Improved TaskCard component with new UI elements for advanced features
- Enhanced TaskForm component with inputs for advanced features
- Updated CalendarGrid component to handle improved task rendering
- Updated taskPersistence with handling for new properties
SUMMARY: .planning/phases/02-user-experience-advanced-features/02-01-SUMMARY.md