import 'package:flutter/material.dart'; import '../shared/theme/app_color_palette.dart'; class AppTheme { static const Color _primary = Color(0xFF673AB7); static const Color _accent = Color(0xFF9C27B0); static const Color _scaffold = Color(0xFFF8F8F8); static const Color _textHigh = Color(0xFF333333); static const Color _textMid = Color(0xFF666666); static const Color _textLow = Color(0xFF999999); static ThemeData light() { const colorScheme = ColorScheme.light( primary: _primary, onPrimary: Color(0xFFFFFFFF), secondary: _accent, onSecondary: Color(0xFFFFFFFF), surface: Color(0xFFFFFFFF), onSurface: _textHigh, error: Color(0xFFB00020), onError: Color(0xFFFFFFFF), outline: Color(0xFFDDDDDD), surfaceContainerHighest: Color(0xFFF0E6FF), surfaceContainerHigh: Color(0xFFF4F5F7), surfaceContainerLow: Color(0xFFFAFAFA), ); return ThemeData( useMaterial3: true, colorScheme: colorScheme, scaffoldBackgroundColor: _scaffold, textTheme: const TextTheme( headlineMedium: TextStyle( fontSize: 24, fontWeight: FontWeight.w700, color: _textHigh, ), titleLarge: TextStyle( fontSize: 20, fontWeight: FontWeight.w600, color: _textHigh, ), titleMedium: TextStyle( fontSize: 16, fontWeight: FontWeight.w600, color: _textHigh, ), bodyLarge: TextStyle(fontSize: 16, color: _textMid), bodyMedium: TextStyle(fontSize: 14, color: _textMid), bodySmall: TextStyle(fontSize: 12, color: _textLow), ), extensions: const >[ AppColorPalette( accentPurple: _accent, historyGoldBg: Color(0xFFFFF8E1), historyGoldText: Color(0xFFFFB300), historyBlueBg: Color(0xFFE6F7FF), historyBlueText: Color(0xFF1890FF), historyGrayBg: Color(0xFFF5F5F5), historyGrayText: Color(0xFF9E9E9E), categoryCareerBg: Color(0xFFF0E6FF), categoryCareerText: Color(0xFF673AB7), categoryLoveBg: Color(0xFFFFF3E0), categoryLoveText: Color(0xFFFF9800), categoryMoneyBg: Color(0xFFE8F5E9), categoryMoneyText: Color(0xFF4CAF50), notificationDot: Color(0xFFE53935), warning: Color(0xFFF57C00), warningContainer: Color(0xFFFFF3E0), onWarningContainer: Color(0xFF8A4B00), incomeGreenBg: Color(0xFFE8F5E9), incomeGreenText: Color(0xFF2E7D32), ), ], ); } }