import 'package:flutter/material.dart'; class AppThemeColors { const AppThemeColors({ required this.primarySeed, required this.webViewBorder, required this.webViewBackground, required this.controlsGradientStart, required this.controlsGradientEnd, required this.controlsShadow, required this.statusText, }); final Color primarySeed; final Color webViewBorder; final Color webViewBackground; final Color controlsGradientStart; final Color controlsGradientEnd; final Color controlsShadow; final Color statusText; } class AppThemeBusinessObject { static const AppThemeColors lightColors = AppThemeColors( primarySeed: Color(0xFF607D8B), webViewBorder: Color(0x42000000), webViewBackground: Color(0xFFFFFFFF), controlsGradientStart: Color(0xFFE1F5FE), controlsGradientEnd: Color(0xFFB3E5FC), controlsShadow: Color(0x22000000), statusText: Color(0xDD000000), ); static const AppThemeColors darkColors = AppThemeColors( primarySeed: Color(0xFF37474F), webViewBorder: Color(0x66FFFFFF), webViewBackground: Color(0xFF0F1417), controlsGradientStart: Color(0xFF1B2731), controlsGradientEnd: Color(0xFF233744), controlsShadow: Color(0x44000000), statusText: Color(0xE6FFFFFF), ); static bool isDarkMode(BuildContext context) { return MediaQuery.platformBrightnessOf(context) == Brightness.dark; } static AppThemeColors colorsFor(BuildContext context) { return isDarkMode(context) ? darkColors : lightColors; } static ThemeData lightTheme() { return ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: lightColors.primarySeed), useMaterial3: true, ); } static ThemeData darkTheme() { return ThemeData( colorScheme: ColorScheme.fromSeed( seedColor: darkColors.primarySeed, brightness: Brightness.dark, ), useMaterial3: true, ); } }