diff options
| author | Aiden Cline <[email protected]> | 2026-04-30 22:45:41 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-30 22:45:41 -0500 |
| commit | 33f7f593eeba84de34c52779a42b24b4edfa652a (patch) | |
| tree | 8de3e49cd66997dd4b6fda53a0eeaf5dcbf44a18 | |
| parent | 461e7345b39618e657406948f38226facaf922be (diff) | |
| download | opencode-33f7f593eeba84de34c52779a42b24b4edfa652a.tar.gz opencode-33f7f593eeba84de34c52779a42b24b4edfa652a.zip | |
fix: tui list jank issue (#25219)
3 files changed, 5 insertions, 5 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsx index ebc28847f..d6cbda413 100644 --- a/packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsx @@ -51,7 +51,7 @@ export function createDialogProviderOptions() { }[provider.id], footer: consoleManaged ? sync.data.console_state.activeOrgName : undefined, category: provider.id in PROVIDER_PRIORITY ? "Popular" : "Other", - gutter: connected && onboarded() ? <text fg={theme.success}>✓</text> : undefined, + gutter: connected && onboarded() ? () => <text fg={theme.success}>✓</text> : undefined, async onSelect() { if (consoleManaged) return diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx index 72d60767b..04c6b9945 100644 --- a/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx @@ -168,7 +168,7 @@ export function DialogSessionList() { value: x.id, category, footer, - gutter: isWorking ? <Spinner /> : undefined, + gutter: isWorking ? () => <Spinner /> : undefined, } }) }) diff --git a/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx b/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx index b6c937f41..4d68c4430 100644 --- a/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx +++ b/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx @@ -42,7 +42,7 @@ export interface DialogSelectOption<T = any> { categoryView?: JSX.Element disabled?: boolean bg?: RGBA - gutter?: JSX.Element + gutter?: () => JSX.Element margin?: JSX.Element onSelect?: (ctx: DialogContext) => void } @@ -407,7 +407,7 @@ function Option(props: { active?: boolean current?: boolean footer?: JSX.Element | string - gutter?: JSX.Element + gutter?: () => JSX.Element onMouseOver?: () => void }) { const { theme } = useTheme() @@ -422,7 +422,7 @@ function Option(props: { </Show> <Show when={!props.current && props.gutter}> <box flexShrink={0} marginRight={0}> - {props.gutter} + {props.gutter?.()} </box> </Show> <text |
