fix(tui): correct selected action background

This commit is contained in:
James Long
2026-07-20 17:33:00 +00:00
committed by 𝓛𝓲𝓽𝓽𝓵𝓮 𝓕𝓻𝓪𝓷𝓴
parent b7483bb3cf
commit b8e8321f20
5 changed files with 8 additions and 6 deletions
@@ -218,7 +218,7 @@ export function SubagentsTab(props: { sessionID: string }) {
flexDirection="row"
paddingLeft={1}
paddingRight={1}
backgroundColor={themeV2.background.action({ focused: active() })}
backgroundColor={themeV2.background.action({ focused: active(), selected: entry.current })}
onMouseOver={() => setStore("selected", index())}
onMouseUp={() => {
setStore("selected", index())
+2 -2
View File
@@ -129,7 +129,7 @@ export const DEFAULT_THEME = {
$hovered: "$hue.interactive.700",
$focused: "$hue.interactive.700",
$pressed: "$hue.interactive.800",
$selected: "$hue.interactive.700",
$selected: "transparent",
$disabled: "$hue.neutral.300",
},
destructive: {
@@ -341,7 +341,7 @@ export const DEFAULT_THEME = {
$hovered: "$hue.interactive.600",
$focused: "$hue.interactive.600",
$pressed: "$hue.interactive.800",
$selected: "$hue.interactive.600",
$selected: "transparent",
$disabled: "$hue.neutral.800",
},
destructive: {
+1 -1
View File
@@ -98,7 +98,7 @@ function migrateMode(theme: Theme, mode: Mode): FileThemeDefinition {
overlay: backgroundMenu,
},
action: {
primary: { default: "transparent", $hovered: backgroundPanel, $focused: primary, $selected: primary },
primary: { default: "transparent", $hovered: backgroundPanel, $focused: primary, $selected: "transparent" },
destructive: { default: color("error") },
},
formfield: {
@@ -43,6 +43,8 @@ test("resolves independent definitions and hue aliases", () => {
expect(lightTheme.background.surface.overlay).toBe(lightTheme.hue.neutral[400])
expect(lightTheme.syntax.keyword).toBeInstanceOf(RGBA)
expect(lightTheme.text.action.primary.default).toBe(lightTheme.hue.neutral[200])
expect(lightTheme.background.action.primary.selected.toInts()).toEqual([0, 0, 0, 0])
expect(darkTheme.background.action.primary.selected.toInts()).toEqual([0, 0, 0, 0])
expect(lightTheme.contexts["@context:elevated"]?.background.action.primary.default).toBe(
lightTheme.hue.interactive[500],
)
@@ -28,7 +28,7 @@ test("migrates resolved V1 modes into literal V2 tokens", () => {
expect(migrated.dark.background?.surface?.offset).toBe("$hue.neutral.700")
expect(migrated.dark.background?.surface?.overlay).toBe("$hue.neutral.600")
expect(migrated.light.text?.action?.primary?.default).toBe("$text.default")
expect(migrated.light.background?.action?.primary?.$selected).toBe("$hue.interactive.800")
expect(migrated.light.background?.action?.primary?.$selected).toBe("transparent")
expect(migrated.light.scrollbar?.default).toBe(hex(legacy.borderActive))
expect(migrated.light.diff?.lineNumber?.background?.removed).toBe(hex(legacy.diffRemovedLineNumberBg))
expect(migrated.light.markdown?.emphasis).toBe(hex(legacy.markdownEmph))
@@ -41,7 +41,7 @@ test("migrates resolved V1 modes into literal V2 tokens", () => {
expect(resolved.text.formfield.focused.toInts()).toEqual(legacy.primary.toInts())
expect(resolved.hue.accent[800].toInts()).toEqual(legacy.accent.toInts())
expect(resolved.hue.interactive[800].toInts()).toEqual(legacy.primary.toInts())
expect(resolved.background.action.primary.selected.toInts()).toEqual(legacy.primary.toInts())
expect(resolved.background.action.primary.selected.toInts()).toEqual([0, 0, 0, 0])
expect(resolved.text.action.primary.selected.toInts()).toEqual(legacy.primary.toInts())
expect(resolved.background.feedback.error.default.toInts()).toEqual(legacy.background.toInts())
expect(resolved.contexts["@context:elevated"]?.background.default.toInts()).toEqual(legacy.backgroundPanel.toInts())