diff --git a/frontend-web/src/components/workspace/workspace-nav-studio.tsx b/frontend-web/src/components/workspace/workspace-nav-studio.tsx
index e546c39e..01eb649a 100644
--- a/frontend-web/src/components/workspace/workspace-nav-studio.tsx
+++ b/frontend-web/src/components/workspace/workspace-nav-studio.tsx
@@ -34,8 +34,6 @@ const NAV_ITEM_CLASS =
"data-[active=true]:bg-primary/15 data-[active=true]:text-primary data-[active=true]:shadow-none " +
"dark:hover:bg-primary/15 dark:data-[active=true]:bg-primary/25 dark:data-[active=true]:text-primary-foreground";
-const SIDEBAR_PREVIEW_COUNT = 5;
-
export function WorkspaceNavStudio() {
const { notebooks, isLoading, isError } = useStudioNotebooks();
const { pathname } = useLocation();
@@ -71,6 +69,7 @@ export function WorkspaceNavStudio() {
return null;
}
+ const SIDEBAR_PREVIEW_COUNT = 2;
const preview = notebooks.slice(0, SIDEBAR_PREVIEW_COUNT);
return (
diff --git a/frontend-web/src/core/studio/api.ts b/frontend-web/src/core/studio/api.ts
index ac492de8..5d779a87 100644
--- a/frontend-web/src/core/studio/api.ts
+++ b/frontend-web/src/core/studio/api.ts
@@ -46,7 +46,10 @@ export async function createSearchSpace(
},
body: JSON.stringify({ name, description: "", citations_enabled: true }),
});
- if (!res.ok) throw new Error(`创建失败:${res.status}`);
+ if (!res.ok) {
+ const body = await res.json().catch(() => null);
+ throw new Error(body?.detail || `创建失败:${res.status}`);
+ }
}
export async function uploadSourceText(
diff --git a/frontend-web/src/pages/WorkspaceRoutes.tsx b/frontend-web/src/pages/WorkspaceRoutes.tsx
index f70d42a1..9ee6ff1c 100644
--- a/frontend-web/src/pages/WorkspaceRoutes.tsx
+++ b/frontend-web/src/pages/WorkspaceRoutes.tsx
@@ -1,5 +1,5 @@
import type { CSSProperties, ReactNode } from "react";
-import { Navigate, Route, Routes } from "react-router-dom";
+import { Navigate, Route, Routes, useParams } from "react-router-dom";
import { getStoredAuth } from "@/core/auth";
@@ -39,6 +39,11 @@ import AIWritingPage from "@/open-canvas/pages/AIWritingPage";
import StudioNotebooksPage from "./StudioNotebooksPage";
import StudioNotebookDetailPage from "./StudioNotebookDetailPage";
import RoundtablePlanningPage from "@/roundtable-planning/pages/RoundtablePlanningPage";
+
+function NotebookDetailPageWithKey() {
+ const { notebookId } = useParams<{ notebookId: string }>();
+ return ;
+}
import "@/roundtable-planning/styles/roundtable-planning.css";
export function WorkspaceLayout({
@@ -219,7 +224,7 @@ export default function WorkspaceRoutes({
element={
-
+
}