fix: preserve conversation after update
This commit is contained in:
@@ -365,6 +365,7 @@ export default function ReasoningWorkspace({
|
|||||||
answer,
|
answer,
|
||||||
setAnswer,
|
setAnswer,
|
||||||
onAnswerSubmit,
|
onAnswerSubmit,
|
||||||
|
lastSubmittedAnswer,
|
||||||
}) {
|
}) {
|
||||||
const { elapsed: startElapsed, currentMessage: startMsg } = useLoadingStatus(
|
const { elapsed: startElapsed, currentMessage: startMsg } = useLoadingStatus(
|
||||||
INITIAL_MESSAGES,
|
INITIAL_MESSAGES,
|
||||||
@@ -376,11 +377,14 @@ export default function ReasoningWorkspace({
|
|||||||
updateStatus === "loading"
|
updateStatus === "loading"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const isUpdating = updateStatus === "loading";
|
||||||
|
const hasSelectedQuestion = Boolean(result?.selectedQuestion);
|
||||||
|
|
||||||
const canAnswer =
|
const canAnswer =
|
||||||
status === "success" &&
|
status === "success" &&
|
||||||
updateStatus === "idle" &&
|
!isUpdating &&
|
||||||
Boolean(result?.situationGraph) &&
|
Boolean(result?.situationGraph) &&
|
||||||
Boolean(result?.selectedQuestion);
|
hasSelectedQuestion;
|
||||||
|
|
||||||
const selectedQ = result?.selectedQuestion ?? null;
|
const selectedQ = result?.selectedQuestion ?? null;
|
||||||
const graph = result?.situationGraph ?? null;
|
const graph = result?.situationGraph ?? null;
|
||||||
@@ -425,7 +429,7 @@ export default function ReasoningWorkspace({
|
|||||||
<>
|
<>
|
||||||
{/* ── Post-update acknowledgement ─────────────── */}
|
{/* ── Post-update acknowledgement ─────────────── */}
|
||||||
{updateStatus === "success" && graph && (
|
{updateStatus === "success" && graph && (
|
||||||
<UpdateAcknowledgement answer={answer} updateResult={result} />
|
<UpdateAcknowledgement answer={lastSubmittedAnswer} updateResult={result} />
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Completion state (only when there is no next question and nothing remains) */}
|
{/* Completion state (only when there is no next question and nothing remains) */}
|
||||||
|
|||||||
@@ -188,6 +188,7 @@ export default function ScenarioForm() {
|
|||||||
const [updateStatus, setUpdateStatus] = useState("idle"); // idle | loading | error | success
|
const [updateStatus, setUpdateStatus] = useState("idle"); // idle | loading | error | success
|
||||||
const [updateError, setUpdateError] = useState(null);
|
const [updateError, setUpdateError] = useState(null);
|
||||||
const [updateResult, setUpdateResult] = useState(null);
|
const [updateResult, setUpdateResult] = useState(null);
|
||||||
|
const [lastSubmittedAnswer, setLastSubmittedAnswer] = useState("");
|
||||||
const textareaRef = useRef(null);
|
const textareaRef = useRef(null);
|
||||||
|
|
||||||
const { elapsed: startElapsed, currentMessage: startMsg } = useLoadingStatus(
|
const { elapsed: startElapsed, currentMessage: startMsg } = useLoadingStatus(
|
||||||
@@ -206,6 +207,8 @@ export default function ScenarioForm() {
|
|||||||
setResult(null);
|
setResult(null);
|
||||||
setAnswer("");
|
setAnswer("");
|
||||||
setUpdateStatus("idle");
|
setUpdateStatus("idle");
|
||||||
|
setUpdateResult(null);
|
||||||
|
setLastSubmittedAnswer("");
|
||||||
setUpdateError(null);
|
setUpdateError(null);
|
||||||
setResult(null);
|
setResult(null);
|
||||||
setUpdateResult(null);
|
setUpdateResult(null);
|
||||||
@@ -240,6 +243,7 @@ export default function ScenarioForm() {
|
|||||||
|
|
||||||
setUpdateStatus("loading");
|
setUpdateStatus("loading");
|
||||||
setUpdateError(null);
|
setUpdateError(null);
|
||||||
|
setLastSubmittedAnswer(answer.trim());
|
||||||
|
|
||||||
const submission = await submitAnswerForUpdateCase(fetch, {
|
const submission = await submitAnswerForUpdateCase(fetch, {
|
||||||
situationGraph: result?.situationGraph,
|
situationGraph: result?.situationGraph,
|
||||||
@@ -337,6 +341,7 @@ export default function ScenarioForm() {
|
|||||||
answer={answer}
|
answer={answer}
|
||||||
setAnswer={setAnswer}
|
setAnswer={setAnswer}
|
||||||
onAnswerSubmit={handleUpdate}
|
onAnswerSubmit={handleUpdate}
|
||||||
|
lastSubmittedAnswer={lastSubmittedAnswer}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user