import { Prompt } from '@/types/prompt'; import { IconBulbFilled, IconCheck, IconTrash, IconX, } from '@tabler/icons-react'; import { DragEvent, FC, useEffect, useState } from 'react'; import { PromptModal } from './PromptModal'; interface Props { prompt: Prompt; onUpdatePrompt: (prompt: Prompt) => void; onDeletePrompt: (prompt: Prompt) => void; } export const PromptComponent: FC = ({ prompt, onUpdatePrompt, onDeletePrompt, }) => { const [showModal, setShowModal] = useState(false); const [isDeleting, setIsDeleting] = useState(false); const [isRenaming, setIsRenaming] = useState(false); const [renameValue, setRenameValue] = useState(''); const handleDragStart = (e: DragEvent, prompt: Prompt) => { if (e.dataTransfer) { e.dataTransfer.setData('prompt', JSON.stringify(prompt)); } }; useEffect(() => { if (isRenaming) { setIsDeleting(false); } else if (isDeleting) { setIsRenaming(false); } }, [isRenaming, isDeleting]); return (
{(isDeleting || isRenaming) && (
)} {!isDeleting && !isRenaming && (
)} {showModal && ( setShowModal(false)} onUpdatePrompt={onUpdatePrompt} /> )}
); };