summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorterakael <[email protected]>2025-12-09 12:18:17 +0900
committerGitHub <[email protected]>2025-12-08 21:18:17 -0600
commitc78dad8db50d9b3abec155ad08fc11236e145514 (patch)
treeb6894af2b80ee5d845117807359f07e256214082 /packages
parent0569e8652c22cc58f2ddca698b02d5e7bdecf368 (diff)
downloadopencode-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.tsx12
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>