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={ - + }