import { useProject } from "@tui/context/project" import { useSync } from "@tui/context/sync" import { createMemo, Show } from "solid-js" import { useTheme } from "../../context/theme" import { useTuiConfig } from "../../context/tui-config" import { InstallationChannel, InstallationVersion } from "@opencode-ai/core/installation/version" import { TuiPluginRuntime } from "../../plugin" import { getScrollAcceleration } from "../../util/scroll" export function Sidebar(props: { sessionID: string; overlay?: boolean }) { const project = useProject() const sync = useSync() const { theme } = useTheme() const tuiConfig = useTuiConfig() const session = createMemo(() => sync.session.get(props.sessionID)) const workspaceStatus = () => { const workspaceID = session()?.workspaceID if (!workspaceID) return "error" return project.workspace.status(workspaceID) ?? "error" } const workspaceLabel = () => { const workspaceID = session()?.workspaceID if (!workspaceID) return "unknown" const info = project.workspace.get(workspaceID) if (!info) return "unknown" return `${info.type}: ${info.name}` } const scrollAcceleration = createMemo(() => getScrollAcceleration(tuiConfig)) return ( {session()!.title} {props.sessionID} {" "} {workspaceLabel()} {session()!.share!.url} Open Code {" "} {InstallationVersion} ) }