From 9f55604d697d0af11d068ab76956d0338ae1e178 Mon Sep 17 00:00:00 2001 From: Stu Leak Date: Wed, 31 Dec 2025 12:59:40 -0500 Subject: [PATCH] fix(ui): Darken bright module colors for white text readability MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed module colors to work better with white text: - Trim: #FFEB3B → #F9A825 (dark yellow/gold) - Audio: #FFC107 → #FF8F00 (dark amber) - Subtitles: #8BC34A → #689F38 (dark green) All modules now use consistent white text for uniform appearance. --- internal/ui/components.go | 3 ++- main.go | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/internal/ui/components.go b/internal/ui/components.go index bf1b091..8aa1066 100644 --- a/internal/ui/components.go +++ b/internal/ui/components.go @@ -148,7 +148,8 @@ func getContrastColor(bgColor color.Color) color.Color { func (m *ModuleTile) CreateRenderer() fyne.WidgetRenderer { tileColor := m.color - labelColor := getContrastColor(m.color) + // Use consistent white text for all modules + labelColor := TextColor // White text // Dim disabled tiles if !m.enabled { diff --git a/main.go b/main.go index 4cb88f6..a18487b 100644 --- a/main.go +++ b/main.go @@ -80,18 +80,18 @@ var ( nvencRuntimeOK bool // Rainbow color palette: balanced ROYGBIV distribution (2 modules per color) - // Bright, vibrant, highly navigable with perfect spectrum balance + // Optimized for white text readability modulesList = []Module{ {"convert", "Convert", utils.MustHex("#673AB7"), "Convert", modules.HandleConvert}, // Deep Purple (primary conversion) {"merge", "Merge", utils.MustHex("#4CAF50"), "Convert", modules.HandleMerge}, // Green (combining) - {"trim", "Trim", utils.MustHex("#FFEB3B"), "Convert", modules.HandleTrim}, // Yellow (precision cut) + {"trim", "Trim", utils.MustHex("#F9A825"), "Convert", modules.HandleTrim}, // Dark Yellow/Gold (precision cut) {"filters", "Filters", utils.MustHex("#00BCD4"), "Convert", modules.HandleFilters}, // Cyan (creative filters) {"upscale", "Upscale", utils.MustHex("#9C27B0"), "Advanced", modules.HandleUpscale}, // Purple (AI/advanced) - {"audio", "Audio", utils.MustHex("#FFC107"), "Convert", modules.HandleAudio}, // Amber (sound waves) + {"audio", "Audio", utils.MustHex("#FF8F00"), "Convert", modules.HandleAudio}, // Dark Amber (sound waves) {"author", "Author", utils.MustHex("#FF5722"), "Disc", modules.HandleAuthor}, // Deep Orange (authoring) {"rip", "Rip", utils.MustHex("#FF9800"), "Disc", modules.HandleRip}, // Orange (extraction) {"bluray", "Blu-Ray", utils.MustHex("#2196F3"), "Disc", modules.HandleBluRay}, // Blue (Blu-ray brand) - {"subtitles", "Subtitles", utils.MustHex("#8BC34A"), "Convert", modules.HandleSubtitles}, // Light Green (text) + {"subtitles", "Subtitles", utils.MustHex("#689F38"), "Convert", modules.HandleSubtitles}, // Dark Green (text) {"thumb", "Thumb", utils.MustHex("#00ACC1"), "Screenshots", modules.HandleThumb}, // Dark Cyan (capture) {"compare", "Compare", utils.MustHex("#E91E63"), "Inspect", modules.HandleCompare}, // Pink (comparison) {"inspect", "Inspect", utils.MustHex("#F44336"), "Inspect", modules.HandleInspect}, // Red (analysis)