import 'package:flutter/material.dart'; import 'colors.dart'; /// Material 3 theme configuration for the app class AppTheme { AppTheme._(); /// Light theme static ThemeData lightTheme() { return ThemeData( useMaterial3: true, brightness: Brightness.light, colorScheme: ColorScheme.light( primary: AppColors.primaryLight, secondary: AppColors.secondaryLight, tertiary: AppColors.tertiaryLight, error: AppColors.errorLight, surface: AppColors.surfaceLight, onPrimary: AppColors.white, onSecondary: AppColors.white, onSurface: AppColors.black, onError: AppColors.white, primaryContainer: AppColors.primaryContainer, secondaryContainer: AppColors.secondaryContainer, ), scaffoldBackgroundColor: AppColors.backgroundLight, appBarTheme: const AppBarTheme( centerTitle: true, elevation: 0, backgroundColor: AppColors.primaryLight, foregroundColor: AppColors.white, ), cardTheme: CardThemeData( elevation: 2, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), ), ), elevatedButtonTheme: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( elevation: 0, padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8), ), ), ), inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: AppColors.grey100, border: OutlineInputBorder( borderRadius: BorderRadius.circular(8), borderSide: BorderSide.none, ), enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(8), borderSide: BorderSide.none, ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(8), borderSide: const BorderSide(color: AppColors.primaryLight, width: 2), ), ), ); } /// Dark theme static ThemeData darkTheme() { return ThemeData( useMaterial3: true, brightness: Brightness.dark, colorScheme: ColorScheme.dark( primary: AppColors.primaryDark, secondary: AppColors.secondaryDark, tertiary: AppColors.tertiaryDark, error: AppColors.errorDark, surface: AppColors.surfaceDark, onPrimary: AppColors.black, onSecondary: AppColors.black, onSurface: AppColors.white, onError: AppColors.black, primaryContainer: AppColors.primaryContainer, secondaryContainer: AppColors.secondaryContainer, ), scaffoldBackgroundColor: AppColors.backgroundDark, appBarTheme: const AppBarTheme( centerTitle: true, elevation: 0, backgroundColor: AppColors.backgroundDark, foregroundColor: AppColors.white, ), cardTheme: CardThemeData( elevation: 2, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), ), ), elevatedButtonTheme: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( elevation: 0, padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8), ), ), ), inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: AppColors.grey800, border: OutlineInputBorder( borderRadius: BorderRadius.circular(8), borderSide: BorderSide.none, ), enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(8), borderSide: BorderSide.none, ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(8), borderSide: const BorderSide(color: AppColors.primaryDark, width: 2), ), ), ); } }