Skip to content

Commit 12b6210

Browse files
authored
fix(tui): dim question option prefixes (anomalyco#8776)
1 parent 07e7ebd commit 12b6210

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

  • packages/opencode/src/cli/cmd/tui/routes/session

packages/opencode/src/cli/cmd/tui/routes/session/question.tsx

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { createMemo, For, Show } from "solid-js"
33
import { useKeyboard } from "@opentui/solid"
44
import type { TextareaRenderable } from "@opentui/core"
55
import { useKeybind } from "../../context/keybind"
6-
import { useTheme } from "../../context/theme"
6+
import { tint, useTheme } from "../../context/theme"
77
import type { QuestionAnswer, QuestionRequest } from "@opencode-ai/sdk/v2"
88
import { useSDK } from "../../context/sdk"
99
import { SplitBorder } from "../../component/border"
@@ -125,7 +125,7 @@ export function QuestionPrompt(props: { request: QuestionRequest }) {
125125
// Skip processing if a dialog (e.g., command palette) is open
126126
if (dialog.stack.length > 0) return
127127

128-
// When editing "Other" textarea
128+
// When editing custom answer textarea
129129
if (store.editing && !confirm()) {
130130
if (evt.name === "escape") {
131131
evt.preventDefault()
@@ -305,12 +305,15 @@ export function QuestionPrompt(props: { request: QuestionRequest }) {
305305
const picked = () => store.answers[store.tab]?.includes(opt.label) ?? false
306306
return (
307307
<box onMouseOver={() => moveTo(i())} onMouseUp={() => selectOption()}>
308-
<box flexDirection="row" gap={1}>
308+
<box flexDirection="row">
309+
<box backgroundColor={active() ? theme.backgroundElement : undefined} paddingRight={1}>
310+
<text fg={active() ? tint(theme.textMuted, theme.secondary, 0.6) : theme.textMuted}>
311+
{`${i() + 1}.`}
312+
</text>
313+
</box>
309314
<box backgroundColor={active() ? theme.backgroundElement : undefined}>
310315
<text fg={active() ? theme.secondary : picked() ? theme.success : theme.text}>
311-
{multi()
312-
? `${i() + 1}. [${picked() ? "✓" : " "}] ${opt.label}`
313-
: `${i() + 1}. ${opt.label}`}
316+
{multi() ? `[${picked() ? "✓" : " "}] ${opt.label}` : opt.label}
314317
</text>
315318
</box>
316319
<Show when={!multi()}>
@@ -327,14 +330,18 @@ export function QuestionPrompt(props: { request: QuestionRequest }) {
327330
</For>
328331
<Show when={custom()}>
329332
<box onMouseOver={() => moveTo(options().length)} onMouseUp={() => selectOption()}>
330-
<box flexDirection="row" gap={1}>
333+
<box flexDirection="row">
334+
<box backgroundColor={other() ? theme.backgroundElement : undefined} paddingRight={1}>
335+
<text fg={other() ? tint(theme.textMuted, theme.secondary, 0.6) : theme.textMuted}>
336+
{`${options().length + 1}.`}
337+
</text>
338+
</box>
331339
<box backgroundColor={other() ? theme.backgroundElement : undefined}>
332340
<text fg={other() ? theme.secondary : customPicked() ? theme.success : theme.text}>
333-
{multi()
334-
? `${options().length + 1}. [${customPicked() ? "✓" : " "}] Type your own answer`
335-
: `${options().length + 1}. Type your own answer`}
341+
{multi() ? `[${customPicked() ? "✓" : " "}] Type your own answer` : "Type your own answer"}
336342
</text>
337343
</box>
344+
338345
<Show when={!multi()}>
339346
<text fg={theme.success}>{customPicked() ? "✓" : ""}</text>
340347
</Show>

0 commit comments

Comments
 (0)