"use client";
import { useState } from "react";
interface ShortAnswerBlockProps {
id: string;
title?: string;
prompt: string;
correctAnswers: string[];
editMode: boolean;
onChange: (updates: { title?: string; prompt?: string; correctAnswers?: string[] }) => void;
}
export default function ShortAnswerBlock({ id, title, prompt, correctAnswers, editMode, onChange }: ShortAnswerBlockProps) {
const [userAnswer, setUserAnswer] = useState("");
const [submitted, setSubmitted] = useState(false);
const handleReset = () => {
setSubmitted(false);
setUserAnswer("");
};
const isCorrect = correctAnswers.some(ans => ans.trim().toLowerCase() === userAnswer.trim().toLowerCase());
return (
{editMode ? (
) : (
{title || "Short Answer"}
)}
{editMode ? (
) : (
{prompt || "Please formulate your response vector:"}
setUserAnswer(e.target.value)}
disabled={submitted}
className={`w-full bg-slate-50 dark:bg-black/40 border-2 rounded-[2rem] px-8 py-6 text-xl font-black tracking-tight transition-all focus:outline-none shadow-inner ${submitted
? (isCorrect ? "border-green-500 text-green-700 dark:text-green-400 ring-4 ring-green-500/5" : "border-red-500 text-red-700 dark:text-red-100 ring-4 ring-red-500/5")
: "border-slate-100 dark:border-white/10 focus:border-blue-600 text-slate-800 dark:text-white focus:ring-8 focus:ring-blue-500/5"
}`}
placeholder="Ingest solution..."
/>
{submitted && !isCorrect && (
Validated Synaptic Marker:
"{correctAnswers && correctAnswers[0]}"
)}
{!submitted && (
)}
{submitted && (
)}
)}
);
}