diff --git a/lib/screens/artist_screen.dart b/lib/screens/artist_screen.dart index ef72e14d..401a90ac 100644 --- a/lib/screens/artist_screen.dart +++ b/lib/screens/artist_screen.dart @@ -1156,6 +1156,8 @@ class _ArtistScreenState extends ConsumerState { imageUrl.isNotEmpty && Uri.tryParse(imageUrl)?.hasAuthority == true; + final isDark = Theme.of(context).brightness == Brightness.dark; + String? listenersText; final listeners = _monthlyListeners ?? widget.monthlyListeners; if (listeners != null && listeners > 0) { @@ -1226,7 +1228,9 @@ class _ArtistScreenState extends ConsumerState { Colors.transparent, Colors.black.withValues(alpha: 0.3), Colors.black.withValues(alpha: 0.7), - colorScheme.surface, + isDark + ? colorScheme.surface + : Colors.black.withValues(alpha: 0.85), ], stops: const [0.0, 0.5, 0.75, 1.0], ), @@ -1267,7 +1271,7 @@ class _ArtistScreenState extends ConsumerState { listenersText, style: Theme.of(context).textTheme.bodyMedium ?.copyWith( - color: Colors.white.withValues(alpha: 0.8), + color: Colors.white, shadows: [ Shadow( offset: const Offset(0, 1), diff --git a/lib/widgets/animation_utils.dart b/lib/widgets/animation_utils.dart index 7d8a33f6..cfecb731 100644 --- a/lib/widgets/animation_utils.dart +++ b/lib/widgets/animation_utils.dart @@ -146,11 +146,23 @@ class _ShimmerLoadingState extends State final isDark = Theme.of(context).brightness == Brightness.dark; final baseColor = isDark - ? colorScheme.surfaceContainerHighest - : colorScheme.surfaceContainerHigh; + ? Color.alphaBlend( + Colors.white.withValues(alpha: 0.08), + colorScheme.surface, + ) + : Color.alphaBlend( + Colors.black.withValues(alpha: 0.10), + colorScheme.surface, + ); final highlightColor = isDark - ? colorScheme.surfaceContainerHigh - : colorScheme.surface; + ? Color.alphaBlend( + Colors.white.withValues(alpha: 0.14), + colorScheme.surface, + ) + : Color.alphaBlend( + Colors.black.withValues(alpha: 0.01), + colorScheme.surface, + ); return AnimatedBuilder( animation: _controller, @@ -194,11 +206,21 @@ class SkeletonBox extends StatelessWidget { @override Widget build(BuildContext context) { final colorScheme = Theme.of(context).colorScheme; + final isDark = Theme.of(context).brightness == Brightness.dark; + final color = isDark + ? Color.alphaBlend( + Colors.white.withValues(alpha: 0.08), + colorScheme.surface, + ) + : Color.alphaBlend( + Colors.black.withValues(alpha: 0.06), + colorScheme.surface, + ); return Container( width: width, height: height, decoration: BoxDecoration( - color: colorScheme.surfaceContainerHighest, + color: color, borderRadius: BorderRadius.circular(borderRadius), ), );