'use client'; import * as React from 'react'; import { Button } from '@/components/ui/button'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Select } from '@/components/ui/select'; import { Textarea } from '@/components/ui/textarea'; import { useCreateLead } from '@/lib/hooks/use-leads'; import { LEAD_SOURCES } from '@/lib/leads-api'; interface CreateLeadDialogProps { open: boolean; onOpenChange: (open: boolean) => void; } export function CreateLeadDialog({ open, onOpenChange }: CreateLeadDialogProps) { const createLead = useCreateLead(); const [form, setForm] = React.useState({ name: '', phone: '', email: '', source: 'website', score: '', notes: '', }); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); createLead.mutate( { name: form.name, phone: form.phone, email: form.email || undefined, source: form.source, score: form.score ? Number(form.score) : undefined, notes: form.notes ? { text: form.notes } : undefined, }, { onSuccess: () => { setForm({ name: '', phone: '', email: '', source: 'website', score: '', notes: '' }); onOpenChange(false); }, }, ); }; return ( Thêm lead mới Nhập thông tin khách hàng tiềm năng
setForm((f) => ({ ...f, name: e.target.value }))} placeholder="Nguyễn Văn A" required />
setForm((f) => ({ ...f, phone: e.target.value }))} placeholder="0901234567" required />
setForm((f) => ({ ...f, email: e.target.value }))} placeholder="email@example.com" />
setForm((f) => ({ ...f, score: e.target.value }))} placeholder="75" />