import { Database } from "@ui/types/database.types"; import { useState } from "react"; import { ClickOutside } from "./ClickOutside"; import { ImageColorPicker } from "./ImageColorPicker"; import { StatusPicker } from "./StatusPicker"; type Tablo = Database["public"]["Tables"]["tablos"]["Row"]; type StatusType = "todo" | "in_progress" | "done"; interface CreateTabloModalProps { onClose: () => void; onCreate: (tabloData: Pick) => void; } export const CreateTabloModal = ({ onClose, onCreate }: CreateTabloModalProps) => { const [newTabloName, setNewTabloName] = useState(""); const [creationMode, setCreationMode] = useState<"image" | "color">("color"); const [selectedImage, setSelectedImage] = useState( "https://images.unsplash.com/photo-1553877522-43269d4ea984?w=400&h=250&fit=crop&crop=center" ); const [selectedColor, setSelectedColor] = useState("bg-blue-500"); const [selectedStatus, setSelectedStatus] = useState("todo"); const resetForm = () => { setNewTabloName(""); setCreationMode("color"); setSelectedImage( "https://images.unsplash.com/photo-1553877522-43269d4ea984?w=400&h=250&fit=crop&crop=center" ); setSelectedColor("bg-blue-500"); setSelectedStatus("todo"); }; const handleClose = () => { resetForm(); onClose(); }; const handleCreate = () => { if (newTabloName.trim()) { const tabloData = { name: newTabloName.trim(), status: selectedStatus, ...(creationMode === "image" ? { image: selectedImage, color: null } : { image: null, color: selectedColor }), }; onCreate(tabloData); resetForm(); } }; return (

Créer un nouveau tablo

{/* Name Input */}
setNewTabloName(e.target.value)} className="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white" placeholder="Entrez le nom du tablo" autoFocus />
{/* Modal Actions */}
); };