import React, { useState, FormEvent, useEffect } from 'react'; import { X, FolderPlus, LoaderCircle } from 'lucide-react'; interface CreateFolderModalProps { isOpen: boolean; onClose: () => void; onSubmit: (folderName: string) => void; isCreating: boolean; } const CreateFolderModal: React.FC = ({ isOpen, onClose, onSubmit, isCreating }) => { const [folderName, setFolderName] = useState(''); const [error, setError] = useState(''); useEffect(() => { // Reset form state when modal is closed or opened if (isOpen) { setFolderName(''); setError(''); } }, [isOpen]); if (!isOpen) return null; const handleSubmit = (e: FormEvent) => { e.preventDefault(); if (!folderName.trim()) { setError('Folder name cannot be empty.'); return; } // Basic validation for folder name characters could be added here onSubmit(folderName.trim()); }; return (
e.stopPropagation()} >

Create New Folder

{ setFolderName(e.target.value); if (error) setError(''); }} placeholder="e.g., 'Project Alpha'" className="w-full px-3 py-2 border border-slate-300 dark:border-slate-600 rounded-md bg-slate-50 dark:bg-slate-700 text-slate-800 dark:text-slate-200 focus:ring-2 focus:ring-primary focus:border-primary outline-none transition" autoFocus /> {error &&

{error}

}
); }; export default CreateFolderModal;