import React, { useEffect, useState } from 'react'; import { createPortal } from 'react-dom'; import { X } from 'lucide-react'; const CreateItemModal = ({ isOpen, onClose, title, icon: Icon, iconColor = "text-[#00f0ff]", iconBg = "bg-blue-500/10", fields, onSubmit, submitLabel = "Submit", submitColor = "bg-blue-500/20 text-[#00f0ff] border-blue-500/30" }) => { const [formData, setFormData] = useState({}); useEffect(() => { const handleEsc = (e) => { if (e.key === 'Escape') onClose(); }; if (isOpen) window.addEventListener('keydown', handleEsc); return () => window.removeEventListener('keydown', handleEsc); }, [isOpen, onClose]); if (!isOpen) return null; const handleSubmit = (e) => { e.preventDefault(); onSubmit(formData); setFormData({}); onClose(); }; return createPortal(
{/* Header */}
{Icon && (
)}

{title}

{/* Content */}
{fields.map((field, i) => (
{field.type === 'textarea' ? (