diff --git a/lib/core/widgets/hero_carousel.dart b/lib/core/widgets/hero_carousel.dart index 4e402be..96cf4f3 100644 --- a/lib/core/widgets/hero_carousel.dart +++ b/lib/core/widgets/hero_carousel.dart @@ -196,8 +196,8 @@ class _HeroCarouselState extends State begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [ - Colors.black.withOpacity(0.3), - Colors.black.withOpacity(0.8), + AppColors.background.withOpacity(0.3), + AppColors.background.withOpacity(0.8), ], ), ), @@ -223,7 +223,7 @@ class _HeroCarouselState extends State style: GoogleFonts.inter( fontSize: 12, fontWeight: FontWeight.w700, - color: Colors.black, + color: AppColors.primary, letterSpacing: 0.5, ), ), @@ -285,14 +285,14 @@ class _HeroCarouselState extends State child: Row( mainAxisSize: MainAxisSize.min, children: [ - const Icon(Icons.play_arrow, color: Colors.black), + const Icon(Icons.play_arrow, color: AppColors.textPrimary), const SizedBox(width: 8), Text( 'Play', style: GoogleFonts.inter( fontSize: 16, fontWeight: FontWeight.w700, - color: Colors.black, + color: AppColors.primary, ), ), ], diff --git a/lib/core/widgets/themed_loading_screen.dart b/lib/core/widgets/themed_loading_screen.dart index 8665788..7b18417 100644 --- a/lib/core/widgets/themed_loading_screen.dart +++ b/lib/core/widgets/themed_loading_screen.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import '../theme/app_colors.dart'; class ThemedLoading extends StatelessWidget { const ThemedLoading({super.key}); @@ -11,8 +12,8 @@ class ThemedLoading extends StatelessWidget { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - Color(0xFF0F1014), // Deep Space Dark - Color(0xFF181920), // Soft Eerie Black + AppColors.background, + AppColors.backgroundAlt, ], ), ), @@ -21,15 +22,15 @@ class ThemedLoading extends StatelessWidget { mainAxisSize: MainAxisSize.min, children: [ const CircularProgressIndicator( - color: Color(0xFF007AFF), // Electric Blue (AppColors.primary) + color: AppColors.primary, strokeWidth: 3, ), const SizedBox(height: 16), Text( 'Loading...', style: TextStyle( - fontFamily: 'Outfit', // Match AppTheme - color: Colors.white.withOpacity(0.7), + fontFamily: 'Outfit', + color: AppColors.textSecondary, fontSize: 14, ), ), diff --git a/lib/features/admin/screens/admin_panel.dart b/lib/features/admin/screens/admin_panel.dart index 4eefc2d..57f4ddf 100644 --- a/lib/features/admin/screens/admin_panel.dart +++ b/lib/features/admin/screens/admin_panel.dart @@ -26,14 +26,13 @@ class AdminPanel extends StatelessWidget { extendBodyBehindAppBar: true, body: Container( decoration: const BoxDecoration( - gradient: RadialGradient( - center: Alignment.center, - radius: 1.5, + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, colors: [ - Color(0xFF2C2C2E), // Dark Grey (Apple TV Surface) - Color(0xFF000000), // Pure Black + AppColors.surfaceVariant, + AppColors.background, ], - stops: [0.0, 1.0], ), ), child: const AdminContent(), diff --git a/lib/features/auth/screens/login_screen.dart b/lib/features/auth/screens/login_screen.dart index 3a8334e..75cac56 100644 --- a/lib/features/auth/screens/login_screen.dart +++ b/lib/features/auth/screens/login_screen.dart @@ -54,15 +54,7 @@ class _LoginScreenState extends ConsumerState { // 1. Cinematic Background (Abstract Gradient) Container( decoration: const BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xFF0D0D0D), // Almost Black - Color(0xFF1A1A1A), // Dark Grey - Color(0xFF0F0F0F), // Deep Dark - ], - ), + gradient: AppColors.backgroundGradient, ), ), @@ -121,7 +113,7 @@ class _LoginScreenState extends ConsumerState { gradient: const LinearGradient( begin: Alignment.topLeft, end: Alignment.bottomRight, - colors: [Color(0xFF2C2C2E), Color(0xFF000000)], + colors: [AppColors.surfaceVariant, AppColors.background], ), borderRadius: BorderRadius.circular(32), boxShadow: [ @@ -134,7 +126,7 @@ class _LoginScreenState extends ConsumerState { ), child: const Icon( Icons.play_arrow_rounded, - color: Colors.white, + color: AppColors.textPrimary, size: 64, ), ), diff --git a/lib/features/iptv/screens/dashboard_screen.dart b/lib/features/iptv/screens/dashboard_screen.dart index 6c589f5..122f53c 100644 --- a/lib/features/iptv/screens/dashboard_screen.dart +++ b/lib/features/iptv/screens/dashboard_screen.dart @@ -45,14 +45,7 @@ class _DashboardScreenState extends ConsumerState { Positioned.fill( child: Container( decoration: const BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xFF0F1014), // Deep Space Blue-Grey - Color(0xFF181920), // Darker shade - ], - ), + gradient: AppColors.backgroundGradient, ), ), ), diff --git a/lib/features/iptv/screens/playlist_selection_screen.dart b/lib/features/iptv/screens/playlist_selection_screen.dart index 1921716..1abd809 100644 --- a/lib/features/iptv/screens/playlist_selection_screen.dart +++ b/lib/features/iptv/screens/playlist_selection_screen.dart @@ -29,7 +29,7 @@ class PlaylistSelectionScreen extends ConsumerWidget { 'Select Playlist', style: GoogleFonts.roboto( fontWeight: FontWeight.w600, - color: Colors.white, + color: AppColors.textPrimary, ), ), backgroundColor: Colors.transparent, @@ -38,12 +38,12 @@ class PlaylistSelectionScreen extends ConsumerWidget { if (currentUser?.isAdmin ?? false) IconButton( icon: - const Icon(Icons.admin_panel_settings, color: Colors.white70), + const Icon(Icons.admin_panel_settings, color: AppColors.textSecondary), onPressed: () => context.go('/admin'), tooltip: 'Admin Panel', ), IconButton( - icon: const Icon(Icons.logout, color: Colors.white70), + icon: const Icon(Icons.logout, color: AppColors.textSecondary), onPressed: () async { await ref.read(authProvider.notifier).logout(); if (context.mounted) { @@ -56,14 +56,7 @@ class PlaylistSelectionScreen extends ConsumerWidget { ), body: Container( decoration: const BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xFF0F1014), // Deep Space Dark - Color(0xFF181920), // Soft Eerie Black - ], - ), + gradient: AppColors.backgroundGradient, ), child: playlistsAsync.when( loading: () => const Center( @@ -80,7 +73,7 @@ class PlaylistSelectionScreen extends ConsumerWidget { 'Error loading playlists', style: GoogleFonts.outfit( fontSize: 18, - color: Colors.white70, + color: AppColors.textSecondary, ), ), const SizedBox(height: 8), @@ -88,7 +81,7 @@ class PlaylistSelectionScreen extends ConsumerWidget { onPressed: () => ref.refresh(playlistsProvider), style: ElevatedButton.styleFrom( backgroundColor: AppColors.primary, - foregroundColor: Colors.white, + foregroundColor: AppColors.textPrimary, ), child: Text('Retry', style: GoogleFonts.inter()), ), diff --git a/lib/mobile/widgets/mobile_scaffold.dart b/lib/mobile/widgets/mobile_scaffold.dart index 73b621f..8b3d68c 100644 --- a/lib/mobile/widgets/mobile_scaffold.dart +++ b/lib/mobile/widgets/mobile_scaffold.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:google_fonts/google_fonts.dart'; import 'dart:ui'; +import '../../core/theme/app_colors.dart'; class MobileScaffold extends ConsumerWidget { final Widget child; @@ -19,19 +20,19 @@ class MobileScaffold extends ConsumerWidget { Widget build(BuildContext context, WidgetRef ref) { return Scaffold( extendBody: true, - backgroundColor: Colors.black, // Base color + backgroundColor: AppColors.background, body: Stack( fit: StackFit.expand, children: [ // Global Background Container( decoration: const BoxDecoration( - gradient: RadialGradient( - center: Alignment.center, - radius: 1.5, + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, colors: [ - Color(0xFF1C1C1E), - Color(0xFF000000), + AppColors.surfaceVariant, + AppColors.background, ], ), ), @@ -46,10 +47,10 @@ class MobileScaffold extends ConsumerWidget { filter: ImageFilter.blur(sigmaX: 20, sigmaY: 20), child: Container( decoration: BoxDecoration( - color: const Color(0xFF1C1C1E).withOpacity(0.85), + color: AppColors.surface.withOpacity(0.9), border: Border( top: BorderSide( - color: Colors.white.withOpacity(0.1), + color: AppColors.border, width: 0.5, ), ), @@ -60,8 +61,8 @@ class MobileScaffold extends ConsumerWidget { backgroundColor: Colors.transparent, type: BottomNavigationBarType.fixed, elevation: 0, - selectedItemColor: Colors.white, - unselectedItemColor: Colors.white38, + selectedItemColor: AppColors.primary, + unselectedItemColor: AppColors.textSecondary, selectedLabelStyle: GoogleFonts.inter(fontWeight: FontWeight.w600, fontSize: 11), unselectedLabelStyle: