/** Workspace detail page — primary work surface. */ import { useState } from "react"; import { useParams } from "react-router-dom"; import { useWorkspaces } from "../hooks/use-workspaces"; import { useMobileViewport } from "../hooks/use-mobile-viewport"; import { WorkspaceDetailHeader } from "../components/features/workspace/workspace-detail-header"; import { WorkspaceMobileTabBar, WorkspaceTabBar, type WorkspaceTab, } from "../components/features/workspace/workspace-tab-bar"; import { WorkspaceFilePanel } from "../components/features/workspace/workspace-file-panel"; import { WorkspaceGitPanel } from "../components/features/workspace/workspace-git-panel"; import { WorkspaceToolsPanel } from "../components/features/workspace/workspace-tools-panel"; import { WorkspaceSettingsPanel } from "../components/features/workspace/workspace-settings-panel"; export function WorkspaceDetailPage() { const { workspaceId } = useParams<{ workspaceId: string }>(); const [activeTab, setActiveTab] = useState("files"); const isMobile = useMobileViewport(); const { workspaces, loading: wsLoading } = useWorkspaces(); const workspace = workspaces.find((w) => w.id === workspaceId); if (wsLoading) { return
Loading workspace...
; } if (!workspace) { return (

Workspace not found

The workspace you are looking for does not exist.

); } return (
{activeTab === "files" && ( )} {activeTab === "git" && ( )} {activeTab === "tools" && ( )} {activeTab === "settings" && ( )}
{isMobile && ( )}
); }