import type { FollowUp } from '@/types/entities';
import { daysAgo } from './factories';

// daysFromNow helper for future dates
function daysFromNow(n: number): string {
    const d = new Date();
    d.setDate(d.getDate() + n);
    // Set to business hours (10 AM IST)
    d.setHours(10, 0, 0, 0);
    return d.toISOString();
}

function today(hour: number = 14): string {
    const d = new Date();
    d.setHours(hour, 0, 0, 0);
    return d.toISOString();
}

export const mockFollowUps: FollowUp[] = [
    // 1 OVERDUE
    {
        id: 'followup-1',
        createdAt: daysAgo(3),
        followUpType: 'CALLBACK',
        followUpStatus: 'OVERDUE',
        scheduledAt: daysAgo(1),
        completedAt: null,
        priority: 'HIGH',
        assignedAgent: 'Suresh P.',
        patientId: 'lead-qualified-2',
        callId: null,
        patientName: 'Priya Sharma',
        patientPhone: '+919845123456',
        description: 'Patient requested callback after reviewing IVF package brochure. Had questions about donor egg options and financing.',
    },

    // 3 PENDING
    {
        id: 'followup-2',
        createdAt: daysAgo(1),
        followUpType: 'CALLBACK',
        followUpStatus: 'PENDING',
        scheduledAt: today(11),
        completedAt: null,
        priority: 'URGENT',
        assignedAgent: 'Rekha S.',
        patientId: 'lead-appt-1',
        callId: null,
        patientName: 'Ananya Nair',
        patientPhone: '+918867234567',
        description: 'Confirm appointment for IVF consultation tomorrow at 11 AM. Remind patient to bring previous fertility test reports.',
    },
    {
        id: 'followup-3',
        createdAt: daysAgo(2),
        followUpType: 'APPOINTMENT_REMINDER',
        followUpStatus: 'PENDING',
        scheduledAt: today(15),
        completedAt: null,
        priority: 'HIGH',
        assignedAgent: 'Meena K.',
        patientId: 'lead-appt-3',
        callId: null,
        patientName: 'Sunita Reddy',
        patientPhone: '+919901345678',
        description: 'Send Women\'s Day Checkup appointment reminder via WhatsApp. Appointment is tomorrow at 9 AM.',
    },
    {
        id: 'followup-4',
        createdAt: daysAgo(1),
        followUpType: 'MARKETING',
        followUpStatus: 'PENDING',
        scheduledAt: daysFromNow(1),
        completedAt: null,
        priority: 'NORMAL',
        assignedAgent: 'Suresh P.',
        patientId: 'lead-contacted-5',
        callId: null,
        patientName: 'Deepika Iyer',
        patientPhone: '+917678456789',
        description: 'Follow up on Cervical Screening campaign interest. Patient was busy during first call and asked to be called back next day.',
    },

    // 2 COMPLETED
    {
        id: 'followup-5',
        createdAt: daysAgo(5),
        followUpType: 'CALLBACK',
        followUpStatus: 'COMPLETED',
        scheduledAt: daysAgo(3),
        completedAt: daysAgo(3),
        priority: 'HIGH',
        assignedAgent: 'Rekha S.',
        patientId: 'lead-converted-1',
        callId: null,
        patientName: 'Lakshmi Patel',
        patientPhone: '+919876543210',
        description: 'Post-appointment follow-up call. Patient confirmed satisfaction with IVF consultation. Proceeding with treatment plan.',
    },
    {
        id: 'followup-6',
        createdAt: daysAgo(8),
        followUpType: 'POST_VISIT',
        followUpStatus: 'COMPLETED',
        scheduledAt: daysAgo(6),
        completedAt: daysAgo(6),
        priority: 'NORMAL',
        assignedAgent: 'Meena K.',
        patientId: 'lead-converted-3',
        callId: null,
        patientName: 'Usha Mehta',
        patientPhone: '+917890567890',
        description: 'Post-visit satisfaction call for Senior Health Package. Patient very happy with service. Referred two friends.',
    },

    // 2 CANCELLED
    {
        id: 'followup-7',
        createdAt: daysAgo(4),
        followUpType: 'CALLBACK',
        followUpStatus: 'CANCELLED',
        scheduledAt: daysAgo(2),
        completedAt: null,
        priority: 'NORMAL',
        assignedAgent: 'Suresh P.',
        patientId: 'lead-contacted-7',
        callId: null,
        patientName: 'Ramesh Gupta',
        patientPhone: '+918765234567',
        description: 'Callback cancelled — patient informed via WhatsApp that they are travelling and will reach out when available.',
    },
    {
        id: 'followup-8',
        createdAt: daysAgo(6),
        followUpType: 'MARKETING',
        followUpStatus: 'CANCELLED',
        scheduledAt: daysAgo(3),
        completedAt: null,
        priority: 'LOW',
        assignedAgent: 'Rekha S.',
        patientId: 'lead-contacted-9',
        callId: null,
        patientName: 'Mohan Verma',
        patientPhone: '+919123456789',
        description: 'Diabetes Awareness Camp follow-up cancelled — patient opted out of marketing communications.',
    },
];
