// Helper function to create expanded task data function createExpandedTaskData(projects, getRandomDate, getPastDate) { return [ // Website Redesign Project Tasks (Project 0) { name: 'Research competitor websites', project_id: projects[0].id, priority: 1, status: 2, completed_at: getPastDate(5), }, { name: 'Create wireframes for homepage', project_id: projects[0].id, priority: 2, status: 1, }, { name: 'Design new color palette', project_id: projects[0].id, priority: 1, status: 0, }, { name: 'Write content for About page', project_id: projects[0].id, priority: 1, status: 0, }, { name: 'Set up staging environment', project_id: projects[0].id, priority: 2, status: 0, due_date: getRandomDate(7), }, { name: 'Optimize images for web', project_id: projects[0].id, priority: 1, status: 0, }, { name: 'Implement responsive design', project_id: projects[0].id, priority: 2, status: 0, }, { name: 'Test cross-browser compatibility', project_id: projects[0].id, priority: 1, status: 0, }, { name: 'Setup Google Analytics', project_id: projects[0].id, priority: 1, status: 0, }, { name: 'Create contact form', project_id: projects[0].id, priority: 1, status: 0, }, { name: 'Write SEO meta descriptions', project_id: projects[0].id, priority: 1, status: 0, }, { name: 'Design mobile navigation', project_id: projects[0].id, priority: 2, status: 0, }, { name: 'Create footer section', project_id: projects[0].id, priority: 0, status: 0, }, { name: 'Add social media icons', project_id: projects[0].id, priority: 0, status: 0, }, { name: 'Setup SSL certificate', project_id: projects[0].id, priority: 2, status: 0, due_date: getRandomDate(5), }, // Learn React Native Project Tasks (Project 1) { name: 'Complete React Native tutorial', project_id: projects[1].id, priority: 2, status: 1, }, { name: 'Build first mobile app', project_id: projects[1].id, priority: 2, status: 0, }, { name: 'Learn about navigation', project_id: projects[1].id, priority: 1, status: 0, }, { name: 'Study state management', project_id: projects[1].id, priority: 1, status: 0, }, { name: 'Practice with APIs', project_id: projects[1].id, priority: 1, status: 0, }, { name: 'Setup development environment', project_id: projects[1].id, priority: 2, status: 2, completed_at: getPastDate(10), }, { name: 'Learn about debugging tools', project_id: projects[1].id, priority: 1, status: 0, }, { name: 'Study push notifications', project_id: projects[1].id, priority: 1, status: 0, }, { name: 'Learn about app deployment', project_id: projects[1].id, priority: 1, status: 0, }, { name: 'Practice with AsyncStorage', project_id: projects[1].id, priority: 1, status: 0, }, // Home Renovation Project Tasks (Project 2) { name: 'Get quotes from contractors', project_id: projects[2].id, priority: 2, status: 0, due_date: getRandomDate(14), }, { name: 'Choose kitchen tiles', project_id: projects[2].id, priority: 1, status: 0, }, { name: 'Order new appliances', project_id: projects[2].id, priority: 2, status: 0, due_date: getRandomDate(21), }, { name: 'Plan bathroom layout', project_id: projects[2].id, priority: 1, status: 0, }, { name: 'Select paint colors', project_id: projects[2].id, priority: 1, status: 1, }, { name: 'Research flooring options', project_id: projects[2].id, priority: 1, status: 2, completed_at: getPastDate(3), }, { name: 'Schedule plumbing inspection', project_id: projects[2].id, priority: 2, status: 0, due_date: getRandomDate(10), }, { name: 'Order cabinet hardware', project_id: projects[2].id, priority: 0, status: 0, }, { name: 'Plan electrical upgrades', project_id: projects[2].id, priority: 2, status: 0, }, { name: 'Choose lighting fixtures', project_id: projects[2].id, priority: 1, status: 0, }, // Fitness Challenge Project Tasks (Project 3) { name: 'Create workout schedule', project_id: projects[3].id, priority: 2, status: 2, completed_at: getPastDate(10), }, { name: 'Track daily calories', project_id: projects[3].id, priority: 1, status: 1, }, { name: 'Join gym membership', project_id: projects[3].id, priority: 2, status: 2, completed_at: getPastDate(15), }, { name: 'Buy workout equipment', project_id: projects[3].id, priority: 1, status: 0, }, { name: 'Plan meal prep schedule', project_id: projects[3].id, priority: 1, status: 1, }, { name: 'Find workout buddy', project_id: projects[3].id, priority: 0, status: 0, }, { name: 'Set up fitness tracking app', project_id: projects[3].id, priority: 1, status: 2, completed_at: getPastDate(8), }, { name: 'Schedule body composition test', project_id: projects[3].id, priority: 1, status: 0, due_date: getRandomDate(7), }, { name: 'Research supplements', project_id: projects[3].id, priority: 0, status: 0, }, { name: 'Plan recovery routine', project_id: projects[3].id, priority: 1, status: 0, }, // Side Business Project Tasks (Project 4) { name: 'Define service offerings', project_id: projects[4].id, priority: 2, status: 1, }, { name: 'Create business website', project_id: projects[4].id, priority: 2, status: 0, }, { name: 'Set up payment processing', project_id: projects[4].id, priority: 1, status: 0, }, { name: 'Network with potential clients', project_id: projects[4].id, priority: 1, status: 0, }, { name: 'Register business name', project_id: projects[4].id, priority: 2, status: 2, completed_at: getPastDate(12), }, { name: 'Open business bank account', project_id: projects[4].id, priority: 2, status: 0, due_date: getRandomDate(5), }, { name: 'Create marketing materials', project_id: projects[4].id, priority: 1, status: 0, }, { name: 'Set up accounting system', project_id: projects[4].id, priority: 1, status: 0, }, { name: 'Research competitors', project_id: projects[4].id, priority: 1, status: 1, }, { name: 'Create pricing strategy', project_id: projects[4].id, priority: 2, status: 0, }, // Investment Portfolio Project Tasks (Project 5) { name: 'Research investment platforms', project_id: projects[5].id, priority: 2, status: 1, }, { name: 'Open brokerage account', project_id: projects[5].id, priority: 2, status: 0, due_date: getRandomDate(10), }, { name: 'Study different asset classes', project_id: projects[5].id, priority: 1, status: 0, }, { name: 'Set investment goals', project_id: projects[5].id, priority: 2, status: 2, completed_at: getPastDate(7), }, { name: 'Create risk assessment', project_id: projects[5].id, priority: 1, status: 1, }, { name: 'Research ETFs and mutual funds', project_id: projects[5].id, priority: 1, status: 0, }, { name: 'Set up automatic investing', project_id: projects[5].id, priority: 1, status: 0, }, { name: 'Learn about tax implications', project_id: projects[5].id, priority: 1, status: 0, }, { name: 'Create emergency fund', project_id: projects[5].id, priority: 2, status: 1, }, { name: 'Review portfolio monthly', project_id: projects[5].id, priority: 1, status: 0, }, // Europe Trip 2024 Project Tasks (Project 6) { name: 'Research destinations', project_id: projects[6].id, priority: 2, status: 1, }, { name: 'Book flights', project_id: projects[6].id, priority: 2, status: 0, due_date: getRandomDate(30), }, { name: 'Reserve accommodations', project_id: projects[6].id, priority: 2, status: 0, due_date: getRandomDate(45), }, { name: 'Apply for passport renewal', project_id: projects[6].id, priority: 2, status: 0, due_date: getRandomDate(60), }, { name: 'Plan itinerary', project_id: projects[6].id, priority: 1, status: 0, }, { name: 'Research local customs', project_id: projects[6].id, priority: 0, status: 0, }, { name: 'Learn basic phrases', project_id: projects[6].id, priority: 0, status: 0, }, { name: 'Check visa requirements', project_id: projects[6].id, priority: 2, status: 0, due_date: getRandomDate(90), }, { name: 'Get travel insurance', project_id: projects[6].id, priority: 1, status: 0, due_date: getRandomDate(21), }, { name: 'Plan budget', project_id: projects[6].id, priority: 1, status: 1, }, // Photography Mastery Project Tasks (Project 7) { name: 'Learn camera basics', project_id: projects[7].id, priority: 2, status: 2, completed_at: getPastDate(14), }, { name: 'Practice composition rules', project_id: projects[7].id, priority: 1, status: 1, }, { name: 'Study lighting techniques', project_id: projects[7].id, priority: 1, status: 0, }, { name: 'Learn photo editing', project_id: projects[7].id, priority: 1, status: 0, }, { name: 'Build portfolio', project_id: projects[7].id, priority: 1, status: 0, }, { name: 'Join photography community', project_id: projects[7].id, priority: 0, status: 0, }, { name: 'Experiment with different styles', project_id: projects[7].id, priority: 1, status: 0, }, { name: 'Learn about gear', project_id: projects[7].id, priority: 0, status: 0, }, { name: 'Practice street photography', project_id: projects[7].id, priority: 1, status: 0, }, { name: 'Study famous photographers', project_id: projects[7].id, priority: 0, status: 0, }, // Non-project tasks - Personal productivity and life management { name: 'Call dentist for appointment', priority: 1, status: 0, due_date: getRandomDate(3), }, { name: 'Buy groceries for the week', priority: 0, status: 0 }, { name: 'Clean garage', priority: 0, status: 0 }, { name: 'Update resume', priority: 1, status: 0 }, { name: 'Read "Atomic Habits" book', priority: 0, status: 0 }, { name: 'Organize digital photos', priority: 0, status: 0 }, { name: 'Schedule car maintenance', priority: 1, status: 0, due_date: getRandomDate(7), }, { name: 'Plan weekend trip', priority: 0, status: 0 }, { name: 'Learn basic Spanish', priority: 0, status: 0 }, { name: 'Backup computer files', priority: 1, status: 0 }, { name: 'Donate old clothes', priority: 0, status: 0 }, { name: 'Research investment options', priority: 1, status: 0 }, { name: 'Call mom and dad', priority: 1, status: 0, due_date: getRandomDate(2), }, { name: 'Fix leaky faucet', priority: 0, status: 0 }, { name: 'Try new restaurant', priority: 0, status: 0 }, { name: 'Update LinkedIn profile', priority: 1, status: 0 }, { name: 'Review monthly expenses', priority: 1, status: 0, due_date: getRandomDate(5), }, { name: 'Organize desk workspace', priority: 0, status: 0 }, { name: 'Plan birthday party', priority: 1, status: 0 }, { name: 'Research new phone', priority: 0, status: 0 }, { name: 'Schedule eye exam', priority: 1, status: 0, due_date: getRandomDate(14), }, { name: 'Update emergency contacts', priority: 1, status: 0 }, { name: 'Clean out email inbox', priority: 0, status: 0 }, { name: 'Research vacation destinations', priority: 0, status: 0 }, { name: 'Update computer software', priority: 1, status: 0 }, { name: 'Plan meal prep for week', priority: 1, status: 0 }, { name: 'Research online courses', priority: 0, status: 0 }, { name: 'Update password manager', priority: 1, status: 0 }, { name: 'Organize physical documents', priority: 0, status: 0 }, { name: 'Research new coffee maker', priority: 0, status: 0 }, { name: 'Schedule oil change', priority: 1, status: 0, due_date: getRandomDate(10), }, { name: 'Plan gift for anniversary', priority: 1, status: 0 }, { name: 'Research home security system', priority: 0, status: 0 }, { name: 'Update will and testament', priority: 2, status: 0, due_date: getRandomDate(30), }, { name: 'Learn keyboard shortcuts', priority: 0, status: 0 }, { name: 'Research meditation apps', priority: 0, status: 0 }, { name: 'Plan date night', priority: 1, status: 0 }, { name: 'Research side income ideas', priority: 0, status: 0 }, { name: 'Update insurance policies', priority: 1, status: 0, due_date: getRandomDate(21), }, { name: 'Learn new cooking recipe', priority: 0, status: 0 }, { name: 'Research productivity tools', priority: 0, status: 0 }, { name: 'Plan garden for spring', priority: 0, status: 0 }, { name: 'Research home improvement ideas', priority: 0, status: 0 }, { name: 'Update social media profiles', priority: 0, status: 0 }, { name: 'Plan weekend activities', priority: 0, status: 0 }, { name: 'Research new podcast', priority: 0, status: 0 }, { name: 'Schedule annual checkup', priority: 1, status: 0, due_date: getRandomDate(45), }, { name: 'Learn new Excel functions', priority: 0, status: 0 }, { name: 'Research retirement planning', priority: 1, status: 0 }, { name: 'Plan family reunion', priority: 1, status: 0 }, { name: 'Research new book to read', priority: 0, status: 0 }, { name: 'Update contact information', priority: 0, status: 0 }, { name: 'Plan workout routine', priority: 1, status: 0 }, // Completed tasks for metrics - spread across different dates { name: 'Pay monthly bills', priority: 1, status: 2, completed_at: getPastDate(1), }, { name: 'Submit expense reports', priority: 1, status: 2, completed_at: getPastDate(1), }, { name: 'Weekly team meeting', priority: 1, status: 2, completed_at: getPastDate(2), }, { name: 'Review project proposal', priority: 2, status: 2, completed_at: getPastDate(3), }, { name: 'Update LinkedIn profile', priority: 0, status: 2, completed_at: getPastDate(4), }, { name: 'Clean kitchen', priority: 0, status: 2, completed_at: getPastDate(5), }, { name: 'Water plants', priority: 0, status: 2, completed_at: getPastDate(6), }, { name: 'Grocery shopping', priority: 1, status: 2, completed_at: getPastDate(1), }, { name: 'Call insurance company', priority: 1, status: 2, completed_at: getPastDate(2), }, { name: 'Send birthday card', priority: 0, status: 2, completed_at: getPastDate(3), }, { name: 'Fix printer issue', priority: 1, status: 2, completed_at: getPastDate(1), }, { name: 'Review budget', priority: 1, status: 2, completed_at: getPastDate(4), }, { name: 'Attend networking event', priority: 1, status: 2, completed_at: getPastDate(5), }, { name: 'Complete online training', priority: 1, status: 2, completed_at: getPastDate(6), }, { name: 'Schedule vet appointment', priority: 1, status: 2, completed_at: getPastDate(2), }, { name: 'Buy gift for colleague', priority: 0, status: 2, completed_at: getPastDate(3), }, { name: 'Update calendar', priority: 0, status: 2, completed_at: getPastDate(1), }, { name: 'Research vacation spots', priority: 0, status: 2, completed_at: getPastDate(4), }, { name: 'Backup important files', priority: 1, status: 2, completed_at: getPastDate(5), }, { name: 'Clean bathroom', priority: 0, status: 2, completed_at: getPastDate(1), }, // Recurring tasks { name: 'Daily standup meeting', priority: 1, status: 0, recurrence_type: 'daily', recurrence_interval: 1, due_date: new Date(), project_id: projects[0].id, }, { name: 'Weekly grocery shopping', priority: 1, status: 0, recurrence_type: 'weekly', recurrence_interval: 1, recurrence_weekday: 6, // Saturday due_date: getRandomDate(7), }, { name: 'Monthly budget review', priority: 2, status: 0, recurrence_type: 'monthly', recurrence_interval: 1, recurrence_month_day: 1, due_date: getRandomDate(30), }, { name: 'Weekly meal prep', priority: 1, status: 0, recurrence_type: 'weekly', recurrence_interval: 1, recurrence_weekday: 0, // Sunday due_date: getRandomDate(7), }, { name: 'Daily workout', priority: 1, status: 0, recurrence_type: 'daily', recurrence_interval: 1, due_date: new Date(), project_id: projects[3].id, }, { name: 'Weekly house cleaning', priority: 1, status: 0, recurrence_type: 'weekly', recurrence_interval: 1, recurrence_weekday: 6, // Saturday due_date: getRandomDate(7), }, // Waiting and someday tasks { name: 'Wait for contractor estimate', priority: 1, status: 4, project_id: projects[2].id, }, { name: 'Learn advanced photography', priority: 0, status: 0 }, { name: 'Write a book', priority: 0, status: 0 }, { name: 'Learn to play guitar', priority: 0, status: 0 }, { name: 'Take pottery class', priority: 0, status: 0 }, { name: 'Visit Japan', priority: 0, status: 0 }, { name: 'Learn rock climbing', priority: 0, status: 0 }, { name: 'Start a podcast', priority: 0, status: 0 }, { name: 'Learn wine tasting', priority: 0, status: 0 }, { name: 'Take dance lessons', priority: 0, status: 0 }, ]; } module.exports = { createExpandedTaskData };