// Path: Frontend/src/components/shell/WorkspaceSidebar/WorkspaceSidebar.tsx import { For, Show, createSignal, type JSX } from "solid-js"; import { ChevronLeft, ChevronRight } from "../../../lib/icons"; import { ProjectSelector } from "../ProjectSelector/ProjectSelector"; import { workspaceSidebarHeaderActions, workspaceStaticItems, workspaceTree, type SidebarItem, type WorkspaceTreeNode } from "../data/shell.data"; import styles from "./WorkspaceSidebar.module.scss"; type WorkspaceSidebarProps = { collapsed: boolean; railCollapsed: boolean; onToggleRailCollapse: () => void; }; const WorkspaceHomeEntry = (props: { item: SidebarItem }): JSX.Element => { const Icon = props.item.icon; return (
  • ); }; const WorkspaceTreeBranch = (props: { nodes: readonly WorkspaceTreeNode[]; depth?: number }): JSX.Element => { const depth = () => props.depth ?? 0; return ( ); }; export const WorkspaceSidebar = (props: WorkspaceSidebarProps): JSX.Element => { const [isProjectDrawerOpen, setIsProjectDrawerOpen] = createSignal(false); const railToggleLabel = (): string => (props.railCollapsed ? "Expand server rail" : "Collapse server rail"); return ( ); };