From 00878a8a426435b9d7defae4ccf3d5b3f117955e Mon Sep 17 00:00:00 2001 From: bvandeusen Date: Tue, 14 Apr 2026 18:13:31 -0400 Subject: [PATCH] fix(news): use onSurface for article titles instead of primary Purple-on-black was eye-catching but hard to read. Switch title text to onSurface for contrast; keep the underline in primary at 70% alpha as the "this is a link" signal. Co-Authored-By: Claude Opus 4.6 --- lib/widgets/news_card.dart | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/widgets/news_card.dart b/lib/widgets/news_card.dart index 43a58bf..21f9537 100644 --- a/lib/widgets/news_card.dart +++ b/lib/widgets/news_card.dart @@ -113,16 +113,20 @@ class NewsCard extends StatelessWidget { ], ), const SizedBox(height: 4), - // Title — tappable if URL present + // Title — tappable if URL present. Text stays in onSurface for + // contrast; the primary-colored underline carries the "this is a + // link" signal without tanking readability. GestureDetector( onTap: item.url.isNotEmpty ? _openUrl : null, child: Text( item.title, - style: textTheme.bodyMedium?.copyWith( + style: textTheme.titleSmall?.copyWith( fontWeight: FontWeight.w600, - color: item.url.isNotEmpty ? scheme.primary : scheme.onSurface, + color: scheme.onSurface, + height: 1.3, decoration: item.url.isNotEmpty ? TextDecoration.underline : null, - decorationColor: scheme.primary, + decorationColor: scheme.primary.withValues(alpha: 0.7), + decorationThickness: 1.5, ), ), ),