import { EventDetails } from '@/components/addOns/addon-sidebars/events/EventDetails';
import { Dialog, DialogContent } from '@/components/ui/dialog';
import { RefObject } from 'react';

interface CP {
    id: string;
    name: string;
    role: string;
    profile_picture?: string;
}

interface Client {
    id: string;
    name: string;
    role: string;
    profile_picture?: string;
}

interface Order {
    id: string;
    name: string;
}

interface ChangeRequest {
    requested_by?: string;
    request_type?: string;
    request_status: string;
    request_date_time?: string;
}

interface Event {
    id: string;
    meeting_status: string;
    meetLink: string;
    meeting_date_time: string;
    meeting_type: string;
    change_request: ChangeRequest;
    date_time_updates: any;
    order: Order;
    cps: CP[];
    createdAt: string;
    client: Client;
}

interface EventDetailsModalProps {
    isOpen: boolean;
    setIsOpen: (open: boolean) => void;
    selectedEvent: Event | null;
    formatTime: (dateString: string) => string;
    modalRef?: RefObject<HTMLDivElement | null>;
}

export function EventDetailsModal({ isOpen, setIsOpen, selectedEvent, formatTime, modalRef }: EventDetailsModalProps) {
    if (!selectedEvent) return null;

    return (
        <Dialog open={isOpen} onOpenChange={setIsOpen}>
            <DialogContent ref={modalRef} className="sm:max-w-2xl">
                <EventDetails event={eventDetails} mode="modal" onClose={() => setIsOpen(false)} />
            </DialogContent>
        </Dialog>
    );
}
const eventDetails = {
    title: 'Event title',
    description: 'Meeting details for ',
    agenda: ['Discuss project details', 'Review progress', 'Plan next steps'],
    organizer: 'TaskCo Team',
    status: 'pending',
    createdDate: '12/12/2023',
    eventDate: '12/12/2023',
    eventTime: '11:00 AM',
    type: 'Project Kickoff',
    location: 'Online Meeting',
    attendees: ['Acme Corp', 'John Designer', 'Sarah Manager'],
};
