import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; class AppTheme { AppTheme._(); static const seedColor = Color(0xFF2563EB); static const background = Color(0xFFF6F7FB); static const surface = Colors.white; static const textPrimary = Color(0xFF111827); static const textSecondary = Color(0xFF6B7280); static const border = Color(0xFFE5E7EB); static const success = Color(0xFF16A34A); static const warning = Color(0xFFF59E0B); static const danger = Color(0xFFDC2626); static ThemeData get light { final scheme = ColorScheme.fromSeed( seedColor: seedColor, brightness: Brightness.light, surface: surface, ); return ThemeData( useMaterial3: true, colorScheme: scheme, scaffoldBackgroundColor: background, appBarTheme: const AppBarTheme( centerTitle: true, elevation: 0, scrolledUnderElevation: 0, backgroundColor: surface, foregroundColor: textPrimary, ), elevatedButtonTheme: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( minimumSize: Size(88.w, 44.h), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8.r)), ), ), textButtonTheme: TextButtonThemeData( style: TextButton.styleFrom( shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8.r)), ), ), outlinedButtonTheme: OutlinedButtonThemeData( style: OutlinedButton.styleFrom( minimumSize: Size(88.w, 44.h), side: const BorderSide(color: border), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8.r)), ), ), ); } static ThemeData get dark { final scheme = ColorScheme.fromSeed( seedColor: seedColor, brightness: Brightness.dark, ); return ThemeData( useMaterial3: true, colorScheme: scheme, appBarTheme: const AppBarTheme( centerTitle: true, elevation: 0, scrolledUnderElevation: 0, ), ); } } class AppSpacing { AppSpacing._(); static double get xs => 4.r; static double get sm => 8.r; static double get md => 12.r; static double get lg => 16.r; static double get xl => 24.r; static double get xxl => 32.r; }