--- phase: 03-calendar-integration plan: 03 type: execute wave: 1 depends_on: [] files_modified: [src/components/WeeklyView.tsx, src/lib/calendar-events.ts] autonomous: true must_haves: truths: - "User can view calendar events alongside tasks in weekly view" artifacts: - path: "src/components/WeeklyView.tsx" provides: "Weekly view component that displays both tasks and calendar events" min_lines: 50 - path: "src/lib/calendar-events.ts" provides: "Utility functions for fetching and formatting calendar events for display" min_lines: 20 key_links: - from: "src/components/WeeklyView.tsx" to: "src/lib/calendar-events.ts" via: "import and use" pattern: "import.*calendar-events" --- Implement calendar event display functionality in the weekly view to show calendar events alongside tasks. Purpose: Enable users to see their calendar events integrated with their weekly task view. Output: Weekly view component that displays calendar events and utility functions for event formatting. @~/.config/opencode/get-shit-done/workflows/execute-plan.md @~/.config/opencode/get-shit-done/templates/summary.md @.planning/PROJECT.md @.planning/ROADMAP.md @.planning/STATE.md @.planning/REQUIREMENTS.md # Relevant context from previous phases @.planning/phases/01-setup-and-authentication/01-01-PLAN.md @.planning/phases/01-setup-and-authentication/01-02-PLAN.md @.planning/phases/02-task-management/02-01-PLAN.md @.planning/phases/03-calendar-integration/03-01-PLAN.md @.planning/phases/03-calendar-integration/03-02-PLAN.md Create Calendar Events Utility Functions src/lib/calendar-events.ts Create a TypeScript module that provides functions for: - Fetching calendar events from connected accounts - Formatting events for display in the weekly view - Handling event merging with existing tasks (avoiding duplicates) - Filtering events by date range (week view) - Determining event visibility based on user settings Reference calendar data structures from Phase 2 and API patterns from Phase 1. npm test passes and the module exports required functions without error Module exports getCalendarEvents, formatEventForDisplay, mergeWithTasks functions Enhance Weekly View with Calendar Events src/components/WeeklyView.tsx Modify the existing WeeklyView component to: - Fetch calendar events alongside tasks from the data store - Render calendar events in the appropriate day slots - Differentiate visually from tasks (color coding, icons, etc.) - Handle event click interactions (view details, etc.) - Maintain existing task functionality while adding calendar events Follow UI patterns from Phase 2 and component architecture from Phase 1. Component renders without error and displays both tasks and calendar events Component correctly displays tasks and calendar events in the weekly view Add Calendar Event Display Configuration src/components/CalendarSettings.tsx Enhance the CalendarSettings component to include: - Toggle for showing/hiding calendar events in the weekly view - Color customization for different calendar sources - Filtering options for event types or calendars - Settings persistence across sessions Follow UI patterns from Phase 1 and component architecture from Phase 2. Component renders without error and allows configuration of event display Component allows users to configure calendar event display settings Verify that all components work in concert: 1. Calendar events appear alongside tasks in the weekly view 2. Events are properly formatted and differentiated from tasks 3. Event display settings can be configured and persisted 4. Clicking on calendar events provides appropriate interaction 5. No duplication occurs between tasks and calendar events - Users can view calendar events alongside tasks in the weekly view - Calendar events are visually differentiated from tasks - Users can configure how calendar events are displayed - Event interaction works as expected - No duplication occurs between tasks and events After completion, create `.planning/phases/03-calendar-integration/03-03-SUMMARY.md`