import { useState } from 'react'; import type { Task } from '../types'; interface TaskCompleteModalProps { task: Task; onClose: () => void; onComplete: (taskId: string, whatIDid: string, codeSnippet?: string) => Promise; } export function TaskCompleteModal({ task, onClose, onComplete }: TaskCompleteModalProps) { const [whatIDid, setWhatIDid] = useState(''); const [codeSnippet, setCodeSnippet] = useState(''); const [isSubmitting, setIsSubmitting] = useState(false); const [error, setError] = useState(''); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!whatIDid.trim()) { setError('Please describe what you did'); return; } setIsSubmitting(true); setError(''); try { await onComplete(task.id, whatIDid.trim(), codeSnippet.trim() || undefined); onClose(); } catch (err) { setError(err instanceof Error ? err.message : 'Failed to complete task'); } finally { setIsSubmitting(false); } }; return (
{/* Backdrop */}
{/* Modal */}
{/* Header */}

Complete Task

{task.title}

{/* Form */}
{error && (
{error}
)}