: !a.loading && !a.readError ? {a.zh ? "选择一份解读,阅读问题背景、策略差异、关键转折与证据。" : "Choose a study to read its background, approaches, turning points and evidence."}
: null}
;
diff --git a/apps/presentation/dashboard/src/features/personal-workspace/goal-research-history.tsx b/apps/presentation/dashboard/src/features/personal-workspace/goal-research-history.tsx
index 5c30414da6..5876a80b50 100644
--- a/apps/presentation/dashboard/src/features/personal-workspace/goal-research-history.tsx
+++ b/apps/presentation/dashboard/src/features/personal-workspace/goal-research-history.tsx
@@ -514,7 +514,7 @@ export function GoalResearchHistory({goalId, originalGoalId = goalId, preferHist
onSelect={strategies.choose} onClose={() => strategies.choose(null)}/>;
}
if (caseReading && (hasCases || awaitingRequestedCase)) {
- return setCaseMode(false)}/>;
+ return setCaseMode(false)}/>;
}
return
{hasCases ? : null}
diff --git a/apps/presentation/dashboard/src/features/personal-workspace/research-case-study.tsx b/apps/presentation/dashboard/src/features/personal-workspace/research-case-study.tsx
index 536e5d6982..047f2e7cea 100644
--- a/apps/presentation/dashboard/src/features/personal-workspace/research-case-study.tsx
+++ b/apps/presentation/dashboard/src/features/personal-workspace/research-case-study.tsx
@@ -52,8 +52,8 @@ function focusChapter(chapter: HTMLElement) {
}
/** A document's author controls the composition; the host owns navigation and evidence. */
-export function ResearchCaseStudy({study, zh, historical, scope, navigation, onCitation}: {
- study: TrajectoryCaseStudy; zh: boolean; historical: boolean;
+export function ResearchCaseStudy({study, zh, historical, active, scope, navigation, onCitation}: {
+ study: TrajectoryCaseStudy; zh: boolean; historical: boolean; active: boolean;
scope: {case_id: string; run_id: string; revision: string; window: string};
navigation: {url: URL; goalId: string; packId: string; namespace: string | null; follow: (href: URL) => void};
onCitation: (c: AssessmentCitation, origin?: HTMLButtonElement) => void;
@@ -62,6 +62,7 @@ export function ResearchCaseStudy({study, zh, historical, scope, navigation, onC
const {url, goalId, packId, namespace, follow} = navigation;
const prefix = `${caseChapterHashPrefix.slice(1)}${namespace ? namespace + '-' : ''}${packId}-`;
useEffect(() => {
+ if (!active) return;
// The URL can arrive before the saved study is mounted, or while history
// switches to another Goal/version. Only restore a visible matching chapter.
let frame = 0;
@@ -84,7 +85,7 @@ export function ResearchCaseStudy({study, zh, historical, scope, navigation, onC
window.removeEventListener('popstate', restore);
window.removeEventListener('hashchange', restore);
};
- }, [goalId, packId, prefix]);
+ }, [active, goalId, packId, prefix]);
const citationLinks = (citations: AssessmentCitation[]) =>
{citations.map((c, i) =>