From 5471114af56c3974f780392c4811f5e1b9c99f2a Mon Sep 17 00:00:00 2001 From: Sai Sridhar Date: Wed, 3 Jun 2026 10:18:25 +0530 Subject: [PATCH] fix: improve huh confirm prompt button contrast in ThemeSurvey MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ThemeSurvey did not set FocusedButton/BlurredButton styles, so it fell through to ThemeBase defaults: black-on-white for selected and white-on- black for unselected. These look nearly identical in many terminal themes and make it hard to tell which button (Yes/No) is currently active. Add explicit styles to themeSurvey: - FocusedButton: blue, bold — clearly selected - BlurredButton: gray, no bold — clearly inactive The blue matches the existing SelectSelector/SelectedOption color used throughout ThemeSurvey, making the confirm prompt visually consistent with the rest of the survey UI. Fixes #562 --- internal/style/theme.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/internal/style/theme.go b/internal/style/theme.go index d0510702..2d8ea987 100644 --- a/internal/style/theme.go +++ b/internal/style/theme.go @@ -203,5 +203,18 @@ func themeSurvey(isDark bool) *huh.Styles { Bold(true). SetString("[ ] ") + // Confirm button styles. + // ThemeBase defaults (black-on-white / white-on-black) are hard to + // distinguish in many terminal themes. Use blue+bold for the selected + // button and a subdued gray for the unselected one so the choice is + // immediately obvious regardless of terminal background. + t.Focused.FocusedButton = lipgloss.NewStyle(). + Foreground(ansiBlue). + Bold(true). + Padding(0, 1) + t.Focused.BlurredButton = lipgloss.NewStyle(). + Foreground(ansiGray). + Padding(0, 1) + return t }