From 15353032d28984e43292b848dfcc5de7d2b9ffa3 Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 31 May 2026 10:25:01 -0400 Subject: [PATCH] macOS: fix unreadable dark-on-dark text in Light mode The main window always draws a dark gradient backdrop, but every label used adaptive colors (.primary/.secondary) with no forced scheme, so in Light mode they rendered dark-on-dark and were nearly invisible. Pin the window to .preferredColorScheme(.dark) (the clear design intent) and make the play triangle explicitly white (it previously used .background, which would go dark under the forced dark scheme). Co-Authored-By: Claude Opus 4.8 (1M context) --- apps/apple/CascadeMac/Views/MainWindowView.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/apple/CascadeMac/Views/MainWindowView.swift b/apps/apple/CascadeMac/Views/MainWindowView.swift index 671125a..e4ae4c3 100644 --- a/apps/apple/CascadeMac/Views/MainWindowView.swift +++ b/apps/apple/CascadeMac/Views/MainWindowView.swift @@ -35,6 +35,10 @@ struct MainWindowView: View { .padding(.horizontal, 32) .padding(.vertical, 28) } + // The backdrop is always a dark gradient, so pin the window to dark + // mode — otherwise Light-mode label colors (.primary/.secondary) + // render dark-on-dark and become unreadable. + .preferredColorScheme(.dark) } } @@ -94,7 +98,7 @@ private struct PlayButton: View { .stroke(.tint.opacity(0.5), lineWidth: 1.5) Image(systemName: isPlaying ? "pause.fill" : "play.fill") .font(.system(size: 36, weight: .medium)) - .foregroundStyle(isPlaying ? AnyShapeStyle(.tint) : AnyShapeStyle(.background)) + .foregroundStyle(isPlaying ? AnyShapeStyle(.tint) : AnyShapeStyle(.white)) } .frame(width: 132, height: 132) .shadow(color: .black.opacity(0.25), radius: 12, y: 6)