From f2f495d5c7d4e5012a2d16fdc250e732c488caf4 Mon Sep 17 00:00:00 2001 From: robbond Date: Mon, 17 Aug 2026 08:06:01 +0100 Subject: [PATCH] fix(ui): preserve investigation workspace across no-question states --- components/investigation-map.jsx | 3 ++- components/investigation-summary-panel-v2.jsx | 2 ++ components/investigation-summary-panel-v3.jsx | 1 + components/investigation-summary-panel.jsx | 2 ++ components/reasoning-workspace.jsx | 15 +++++++++++---- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/components/investigation-map.jsx b/components/investigation-map.jsx index 210afbc..703bb42 100644 --- a/components/investigation-map.jsx +++ b/components/investigation-map.jsx @@ -11,6 +11,7 @@ */ import getInvestigationMapTopics from "@/lib/map/investigation-map-adapter"; +import React from "react"; /* ── Status icons (unicode — no icon library dependency) ─── */ @@ -97,4 +98,4 @@ export default function InvestigationMap({ turnCount = 0 }) { ); -} \ No newline at end of file +} diff --git a/components/investigation-summary-panel-v2.jsx b/components/investigation-summary-panel-v2.jsx index 1a87d5f..997a8f5 100644 --- a/components/investigation-summary-panel-v2.jsx +++ b/components/investigation-summary-panel-v2.jsx @@ -14,6 +14,8 @@ * (Version A). No new backend fields or API contracts are required. */ +import React from "react"; + /* ── Helpers ──────────────────────────────────────────────── */ function formatTimestamp(iso) { diff --git a/components/investigation-summary-panel-v3.jsx b/components/investigation-summary-panel-v3.jsx index 7836f68..32b3eb0 100644 --- a/components/investigation-summary-panel-v3.jsx +++ b/components/investigation-summary-panel-v3.jsx @@ -12,6 +12,7 @@ */ import { buildFacilitatorViewModel } from "@/lib/presentation/facilitator-view-adapter"; +import React from "react"; /* ── Item rendering ─────────────────────────────────────────────── */ diff --git a/components/investigation-summary-panel.jsx b/components/investigation-summary-panel.jsx index 09ec9ae..2b2b073 100644 --- a/components/investigation-summary-panel.jsx +++ b/components/investigation-summary-panel.jsx @@ -7,6 +7,8 @@ /* ── Helpers ──────────────────────────────────────────────── */ +import React from "react"; + function formatTimestamp(iso) { if (!iso) return "—"; try { diff --git a/components/reasoning-workspace.jsx b/components/reasoning-workspace.jsx index 4b89e0d..449f85b 100644 --- a/components/reasoning-workspace.jsx +++ b/components/reasoning-workspace.jsx @@ -658,16 +658,23 @@ export default function ReasoningWorkspace({ ) : ( <> - {hasSelectedQuestion && ( + {/* ── Workspace grid: persistent whenever a graph exists ─── */} + {hasGraph && (
{/* ── Left lane: active conversation & notebook ───────── */}
- + {/* Active question — only when there is one */} + {hasSelectedQuestion && ( + <> + - {updateStatus === "success" && !isUpdating && ( - + {updateStatus === "success" && !isUpdating && ( + + )} + )} + {/* Answer form — only when a question is active and not loading */} {!isUpdating && canAnswer && (