diff --git a/packages/opencode/off.png b/packages/opencode/off.png new file mode 100644 index 0000000000..2ac22d3eac Binary files /dev/null and b/packages/opencode/off.png differ diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/header.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/header.tsx index bb012ce858..0c60465b9d 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/header.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/header.tsx @@ -2,7 +2,7 @@ import { type Accessor, createMemo, Match, Show, Switch } from "solid-js" import { useRouteData } from "@tui/context/route" import { useSync } from "@tui/context/sync" import { useTheme } from "@tui/context/theme" -import { SplitBorder } from "@tui/component/border" +import { EmptyBorder, SplitBorder } from "@tui/component/border" import type { Session } from "@opencode-ai/sdk/v2" import { useKeybind } from "../../context/keybind" @@ -28,47 +28,84 @@ export function Header() { return ( - - - - - Subagent session - - - Prev {keybind.print("session_child_cycle_reverse")} - - - Next {keybind.print("session_child_cycle")} - - - - - /share{" "} + + + + + + Subagent session - - - - - - - <Show when={showShare()}> - <text fg={theme.textMuted} wrapMode="none" flexShrink={0}> - /share{" "} + <text fg={theme.text}> + Prev <span style={{ fg: theme.textMuted }}>{keybind.print("session_child_cycle_reverse")}</span> </text> - </Show> - </box> - </Match> - </Switch> + <text fg={theme.text}> + Next <span style={{ fg: theme.textMuted }}>{keybind.print("session_child_cycle")}</span> + </text> + <box flexGrow={1} flexShrink={1} /> + <Show when={showShare()}> + <text fg={theme.textMuted} wrapMode="none" flexShrink={0}> + /share{" "} + </text> + </Show> + </box> + </Match> + <Match when={true}> + <box flexDirection="row" justifyContent="space-between" gap={1}> + <Title session={session} /> + <Show when={showShare()}> + <text fg={theme.textMuted} wrapMode="none" flexShrink={0}> + /share{" "} + </text> + </Show> + </box> + </Match> + </Switch> + </box> + </box> + <box + height={1} + border={["left"]} + borderColor={theme.border} + customBorderChars={{ + ...EmptyBorder, + vertical: theme.backgroundElement.a !== 0 ? "╹" : " ", + }} + > + <box + height={1} + border={["bottom"]} + borderColor={theme.backgroundElement} + customBorderChars={ + theme.backgroundElement.a !== 0 + ? { + ...EmptyBorder, + horizontal: "▀", + } + : { + ...EmptyBorder, + horizontal: " ", + } + } + /> </box> </box> ) diff --git a/packages/opencode/updated.png b/packages/opencode/updated.png new file mode 100644 index 0000000000..2693286c95 Binary files /dev/null and b/packages/opencode/updated.png differ