import { useState } from 'react'; import { FaTrash } from 'react-icons/fa'; import { createPortal } from 'react-dom'; import styles from './PromptItemDelete.module.css'; import { useAuthToken } from '../../../auth/Hooks/use-auth-token'; import { authorizedDelete } from '../../../api'; interface PromptItemDeleteProps { promptId: string; promptTitle: string; onDelete: (promptId: string) => Promise; } export const PromptItemDelete: React.FC = ({ promptId, promptTitle, onDelete }) => { const [showConfirmation, setShowConfirmation] = useState(false); const { getToken } = useAuthToken(); const handleDeleteClick = () => { setShowConfirmation(true); }; const handleConfirm = async () => { try { await authorizedDelete(`/api/user/prompts/${promptId}`, getToken); setShowConfirmation(false); await onDelete(promptId); } catch (error) { console.error('Error deleting prompt:', error); } }; const handleCancel = () => { setShowConfirmation(false); }; return ( <> {showConfirmation && createPortal(

Delete Prompt

Are you sure you want to delete the prompt:

{promptTitle}?

, document.body )} ); }; export default PromptItemDelete;