// 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 };
