fix: preserve conversation after update
This commit is contained in:
@@ -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 && (
|
||||
<UpdateAcknowledgement answer={answer} updateResult={result} />
|
||||
<UpdateAcknowledgement answer={lastSubmittedAnswer} updateResult={result} />
|
||||
)}
|
||||
|
||||
{/* 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 [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}
|
||||
/>
|
||||
)}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user