import EventForm, { NormalizedEventPayload } from '@admin/components/addOns/addon-sidebars/events/EventForm';
import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@admin/components/ui/dialog';

interface AddEventModalProps {
    isOpen: boolean;
    setIsOpen: (open: boolean) => void;
    addEventDate: Date;
    onSubmit?: (eventData: NormalizedEventPayload) => void;
}

export function AddEventModal({ isOpen, setIsOpen, addEventDate, onSubmit }: AddEventModalProps) {
    const handleSubmit = (eventData: NormalizedEventPayload) => {
        if (onSubmit) {
            onSubmit(eventData);
        }
        setIsOpen(false);
    };

    return (
        <Dialog open={isOpen} onOpenChange={setIsOpen}>
            <DialogContent className="sm:max-w-xl">
                <DialogHeader>
                    <DialogTitle>Add New Event</DialogTitle>
                </DialogHeader>
                <div className="space-y-6 rounded-lg border p-2">
                    <EventForm
                        mode="add"
                        initialEvent={{
                            date: addEventDate.toISOString().split('T')[0],
                        }}
                        onSubmitEvent={handleSubmit}
                        onCancel={() => setIsOpen(false)}
                    />
                </div>
            </DialogContent>
        </Dialog>
    );
}
