From 20af1f5e79a952d7372c376558a2bbdeb911614f Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Mon, 13 Jul 2026 03:46:38 +0000 Subject: [PATCH] refactor(tui): compact settings values --- packages/tui/src/component/dialog-config.tsx | 55 ++++++-------------- 1 file changed, 16 insertions(+), 39 deletions(-) diff --git a/packages/tui/src/component/dialog-config.tsx b/packages/tui/src/component/dialog-config.tsx index dbe653ac42..751485b1ae 100644 --- a/packages/tui/src/component/dialog-config.tsx +++ b/packages/tui/src/component/dialog-config.tsx @@ -269,8 +269,12 @@ export function DialogConfig() { setting.path.join(".") === "theme.name" ? Object.keys(themeState.all()).sort((a, b) => a.localeCompare(b, undefined, { sensitivity: "base" })) : setting.values - const compact = (setting: Setting) => setting.path.join(".") === "theme.name" || !setting.values - const display = (setting: Setting) => setting.format?.(value(setting)) ?? String(value(setting)) + const display = (setting: Setting) => { + const current = value(setting) + if (setting.format) return setting.format(current) + const index = setting.values?.indexOf(current) + return index === undefined || index < 0 ? String(current) : (setting.labels?.[index] ?? String(current)) + } const rows = createMemo(() => settings.map((setting, index) => ({ setting, @@ -368,43 +372,16 @@ export function DialogConfig() { {row.setting.title} - - - - - - {display(row.setting)} - - - - - - } - > - - - {(option, optionIndex) => { - const active = () => value(row.setting) === option - return ( - - {row.setting.labels?.[optionIndex()] ?? String(option)} - - ) - }} - - - + + {row.index === selected() ? "‹ " : " "} + + {display(row.setting)} + + {row.index === selected() ? " ›" : " "} +