diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx index c63297db..2f1451a5 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx @@ -40,136 +40,138 @@ export function Sidebar(props: { sessionID: string }) { return ( - - - - {session().title} - - - {session().share!.url} + + + + + {session().title} + + + {session().share!.url} + + + + + Context + + {context()?.tokens ?? 0} tokens + {context()?.percentage ?? 0}% used + {cost()} spent + + 0}> + + + MCP + + + {([key, item]) => ( + + + • + + + {key}{" "} + + + Connected + + {(val) => {val().error}} + + Disabled in configuration + + + + + )} + + + + 0}> + + + LSP + + + {(item) => ( + + + • + + + {item.id} {item.root} + + + )} + + + + + + + Modified Files + + + {(item) => { + const file = createMemo(() => { + const splits = item.file.split(path.sep).filter(Boolean) + const last = splits.at(-1)! + const rest = splits.slice(0, -1).join(path.sep) + return Locale.truncateMiddle(rest, 30 - last.length) + "/" + last + }) + return ( + + + {file()} + + + + +{item.additions} + + + -{item.deletions} + + + + ) + }} + + + + 0}> + + + Todo + + + {(todo) => ( + + [{todo.status === "completed" ? "✓" : " "}] {todo.content} + + )} + + - - - Context - - {context()?.tokens ?? 0} tokens - {context()?.percentage ?? 0}% used - {cost()} spent - - 0}> - - - MCP - - - {([key, item]) => ( - - - • - - - {key}{" "} - - - Connected - - {(val) => {val().error}} - - Disabled in configuration - - - - - )} - - - - 0}> - - - LSP - - - {(item) => ( - - - • - - - {item.id} {item.root} - - - )} - - - - - - - Modified Files - - - {(item) => { - const file = createMemo(() => { - const splits = item.file.split(path.sep).filter(Boolean) - const last = splits.at(-1)! - const rest = splits.slice(0, -1).join(path.sep) - return Locale.truncateMiddle(rest, 30 - last.length) + "/" + last - }) - return ( - - - {file()} - - - - +{item.additions} - - - -{item.deletions} - - - - ) - }} - - - - 0}> - - - Todo - - - {(todo) => ( - - [{todo.status === "completed" ? "✓" : " "}] {todo.content} - - )} - - - - + ) }