"use client" import { useState } from "react" import { Dialog, DialogContent, DialogHeader, DialogTitle, } from "@/components/ui/dialog" import { Button } from "@/components/ui/button" import { parseBulkContactText } from "@/lib/contacts/import-parsers" import { useCreateContact } from "@/lib/api/hooks/use-contact-mutations" import { fullContactToApiContact } from "@/lib/api/adapters" import { useContactsList } from "@/lib/contacts/use-contacts-list" import type { FullContact } from "@/lib/contacts/types" import { CONTACTS_MUTED_TEXT, CONTACTS_PAGE_LINK_BTN_CLASS, CONTACTS_PAGE_TEXTAREA_CLASS, } from "@/lib/contacts-chrome-classes" import { cn } from "@/lib/utils" interface BulkCreateDialogProps { open: boolean onOpenChange: (open: boolean) => void onOpenImport?: () => void } export function BulkCreateDialog({ open, onOpenChange, onOpenImport }: BulkCreateDialogProps) { const [input, setInput] = useState("") const createContactMutation = useCreateContact() const { bookId } = useContactsList() function handleCreate() { const parsed = parseBulkContactText(input) if (parsed.length === 0) return for (const partial of parsed) { const fullContact: FullContact = { id: crypto.randomUUID(), createdAt: Date.now(), updatedAt: Date.now(), ...partial, firstName: partial.firstName ?? "", lastName: partial.lastName ?? "", emails: partial.emails ?? [], phones: partial.phones ?? [], } createContactMutation.mutate({ bookId, contact: fullContactToApiContact(fullContact), }) } setInput("") onOpenChange(false) } return ( Créer plusieurs contacts

Ajoutez des noms, des adresses e-mail ou les deux