From 49c06f6e328b3a39dd744f1a12c617675a396ed3 Mon Sep 17 00:00:00 2001 From: EierKopZA Date: Sun, 28 Jun 2026 12:08:10 +0200 Subject: [PATCH 1/2] feat: add 15 secondary accent color options to theme palette --- .../tv/ui/screens/settings/SettingsViewModel.kt | 11 ++++++++--- .../kotlin/com/arflix/tv/ui/skin/ArvioSkin.kt | 17 +++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/arflix/tv/ui/screens/settings/SettingsViewModel.kt b/app/src/main/kotlin/com/arflix/tv/ui/screens/settings/SettingsViewModel.kt index c3a2acc1..c848bb0c 100644 --- a/app/src/main/kotlin/com/arflix/tv/ui/screens/settings/SettingsViewModel.kt +++ b/app/src/main/kotlin/com/arflix/tv/ui/screens/settings/SettingsViewModel.kt @@ -1186,11 +1186,16 @@ class SettingsViewModel @Inject constructor( } /** - * Cycle the accent color through the rainbow palette. - * Order: White → Red → Orange → Yellow → Green → Blue → Indigo → Violet → White + * Cycle the accent color through the full palette (primary + secondary). + * Order: neutrals → warms → cools → back to White */ fun cycleAccentColor() { - val colors = listOf("White", "Red", "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet") + val colors = listOf( + "White", "Silver", "Slate", "Charcoal", "Cream", + "Gold", "Bronze", "Amber", "Orange", "Red", "Maroon", + "Rose Gold", "Magenta", "Lavender", "Violet", "Indigo", "Navy", + "Blue", "Cyan", "Teal", "Green", "Olive", "Yellow" + ) val current = _uiState.value.accentColor val nextIndex = (colors.indexOf(current) + 1) % colors.size val next = colors[nextIndex] diff --git a/app/src/main/kotlin/com/arflix/tv/ui/skin/ArvioSkin.kt b/app/src/main/kotlin/com/arflix/tv/ui/skin/ArvioSkin.kt index f5996c8a..72884718 100644 --- a/app/src/main/kotlin/com/arflix/tv/ui/skin/ArvioSkin.kt +++ b/app/src/main/kotlin/com/arflix/tv/ui/skin/ArvioSkin.kt @@ -33,6 +33,7 @@ fun resolveAccentColor(fallback: Color): Color { * Used by the accent colour setting and the colour picker. */ fun accentColorFromName(name: String): Color = when (name) { + // Primary palette (existing) "Red" -> Color(0xFFFF4444) "Orange" -> Color(0xFFFF8800) "Yellow" -> Color(0xFFFFDD44) @@ -40,6 +41,22 @@ fun accentColorFromName(name: String): Color = when (name) { "Blue" -> Color(0xFF4488FF) "Indigo" -> Color(0xFF6644CC) "Violet" -> Color(0xFFBB44CC) + // Secondary palette (new) + "Gold" -> Color(0xFFFFD700) + "Silver" -> Color(0xFFC0C0C0) + "Rose Gold" -> Color(0xFFEAA6A0) + "Teal" -> Color(0xFF009688) + "Cyan" -> Color(0xFF00BCD4) + "Magenta" -> Color(0xFFE040FB) + "Charcoal" -> Color(0xFF5D6D7E) + "Slate" -> Color(0xFF8899AA) + "Cream" -> Color(0xFFFFFDD0) + "Olive" -> Color(0xFF8A9A5B) + "Navy" -> Color(0xFF4A6FA5) + "Amber" -> Color(0xFFFFC107) + "Maroon" -> Color(0xFFC62828) + "Lavender" -> Color(0xFFB39DDB) + "Bronze" -> Color(0xFFCD7F32) else -> Color(0xFFFFFFFF) // White (default) } From b71901da19d067b6ebda78765c9744acb1e086fa Mon Sep 17 00:00:00 2001 From: EierkopZA Date: Sun, 28 Jun 2026 12:14:25 +0200 Subject: [PATCH 2/2] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- app/src/main/kotlin/com/arflix/tv/ui/skin/ArvioSkin.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/arflix/tv/ui/skin/ArvioSkin.kt b/app/src/main/kotlin/com/arflix/tv/ui/skin/ArvioSkin.kt index 72884718..bc13ee34 100644 --- a/app/src/main/kotlin/com/arflix/tv/ui/skin/ArvioSkin.kt +++ b/app/src/main/kotlin/com/arflix/tv/ui/skin/ArvioSkin.kt @@ -32,7 +32,8 @@ fun resolveAccentColor(fallback: Color): Color { * Maps a user-facing colour name to its [Color] value. * Used by the accent colour setting and the colour picker. */ -fun accentColorFromName(name: String): Color = when (name) { +fun accentColorFromName(name: String): Color = when (name.trim()) { + "White" -> Color(0xFFFFFFFF) // Primary palette (existing) "Red" -> Color(0xFFFF4444) "Orange" -> Color(0xFFFF8800)