diff options
| author | terakael <[email protected]> | 2025-12-09 12:18:17 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-12-08 21:18:17 -0600 |
| commit | c78dad8db50d9b3abec155ad08fc11236e145514 (patch) | |
| tree | b6894af2b80ee5d845117807359f07e256214082 /packages | |
| parent | 0569e8652c22cc58f2ddca698b02d5e7bdecf368 (diff) | |
| download | opencode-c78dad8db50d9b3abec155ad08fc11236e145514.tar.gz opencode-c78dad8db50d9b3abec155ad08fc11236e145514.zip | |
tui: add permission indicator to footer (#4813)
Co-authored-by: terakael <[email protected]>
Co-authored-by: Aiden Cline <[email protected]>
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx index 063e9051e..e889373e6 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx @@ -4,13 +4,19 @@ import { useSync } from "../../context/sync" import { useDirectory } from "../../context/directory" import { useConnected } from "../../component/dialog-model" import { createStore } from "solid-js/store" +import { useRoute } from "../../context/route" export function Footer() { const { theme } = useTheme() const sync = useSync() + const route = useRoute() const mcp = createMemo(() => Object.keys(sync.data.mcp)) const mcpError = createMemo(() => Object.values(sync.data.mcp).some((x) => x.status === "failed")) const lsp = createMemo(() => Object.keys(sync.data.lsp)) + const permissions = createMemo(() => { + if (route.data.type !== "session") return [] + return sync.data.permission[route.data.sessionID] ?? [] + }) const directory = useDirectory() const connected = useConnected() @@ -51,6 +57,12 @@ export function Footer() { </text> </Match> <Match when={connected()}> + <Show when={permissions().length > 0}> + <text fg={theme.warning}> + <span style={{ fg: theme.warning }}>◉</span> {permissions().length} Permission + {permissions().length > 1 ? "s" : ""} + </text> + </Show> <text fg={theme.text}> <span style={{ fg: theme.success }}>•</span> {lsp().length} LSP </text> |
