diff --git a/components/reasoning-workspace.jsx b/components/reasoning-workspace.jsx
index 3ee8e19..a947725 100644
--- a/components/reasoning-workspace.jsx
+++ b/components/reasoning-workspace.jsx
@@ -365,6 +365,7 @@ export default function ReasoningWorkspace({
answer,
setAnswer,
onAnswerSubmit,
+ lastSubmittedAnswer,
}) {
const { elapsed: startElapsed, currentMessage: startMsg } = useLoadingStatus(
INITIAL_MESSAGES,
@@ -376,11 +377,14 @@ export default function ReasoningWorkspace({
updateStatus === "loading"
);
+ const isUpdating = updateStatus === "loading";
+ const hasSelectedQuestion = Boolean(result?.selectedQuestion);
+
const canAnswer =
status === "success" &&
- updateStatus === "idle" &&
+ !isUpdating &&
Boolean(result?.situationGraph) &&
- Boolean(result?.selectedQuestion);
+ hasSelectedQuestion;
const selectedQ = result?.selectedQuestion ?? null;
const graph = result?.situationGraph ?? null;
@@ -425,7 +429,7 @@ export default function ReasoningWorkspace({
<>
{/* ── Post-update acknowledgement ─────────────── */}
{updateStatus === "success" && graph && (
-
+
)}
{/* Completion state (only when there is no next question and nothing remains) */}
diff --git a/components/scenario-form.jsx b/components/scenario-form.jsx
index 2f62781..904e3c4 100644
--- a/components/scenario-form.jsx
+++ b/components/scenario-form.jsx
@@ -188,6 +188,7 @@ export default function ScenarioForm() {
const [updateStatus, setUpdateStatus] = useState("idle"); // idle | loading | error | success
const [updateError, setUpdateError] = useState(null);
const [updateResult, setUpdateResult] = useState(null);
+ const [lastSubmittedAnswer, setLastSubmittedAnswer] = useState("");
const textareaRef = useRef(null);
const { elapsed: startElapsed, currentMessage: startMsg } = useLoadingStatus(
@@ -206,6 +207,8 @@ export default function ScenarioForm() {
setResult(null);
setAnswer("");
setUpdateStatus("idle");
+ setUpdateResult(null);
+ setLastSubmittedAnswer("");
setUpdateError(null);
setResult(null);
setUpdateResult(null);
@@ -240,6 +243,7 @@ export default function ScenarioForm() {
setUpdateStatus("loading");
setUpdateError(null);
+ setLastSubmittedAnswer(answer.trim());
const submission = await submitAnswerForUpdateCase(fetch, {
situationGraph: result?.situationGraph,
@@ -337,6 +341,7 @@ export default function ScenarioForm() {
answer={answer}
setAnswer={setAnswer}
onAnswerSubmit={handleUpdate}
+ lastSubmittedAnswer={lastSubmittedAnswer}
/>
)}