import 'package:flex_color_scheme/flex_color_scheme.dart'; import 'package:flutter/material.dart'; /// Application theme configuration using Material 3 and FlexColorScheme. class AppTheme { AppTheme._(); /// Light theme static ThemeData get light => FlexThemeData.light( scheme: FlexScheme.aquaBlue, surfaceMode: FlexSurfaceMode.levelSurfacesLowScaffold, blendLevel: 9, subThemesData: const FlexSubThemesData( blendOnLevel: 10, blendOnColors: false, useM2StyleDividerInM3: true, inputDecoratorBorderType: FlexInputBorderType.outline, inputDecoratorRadius: 8.0, chipRadius: 8.0, dialogRadius: 16.0, cardRadius: 12.0, ), visualDensity: FlexColorScheme.comfortablePlatformDensity, useMaterial3: true, fontFamily: null, // Use system font ); /// Dark theme static ThemeData get dark => FlexThemeData.dark( scheme: FlexScheme.aquaBlue, surfaceMode: FlexSurfaceMode.levelSurfacesLowScaffold, blendLevel: 15, subThemesData: const FlexSubThemesData( blendOnLevel: 20, useM2StyleDividerInM3: true, inputDecoratorBorderType: FlexInputBorderType.outline, inputDecoratorRadius: 8.0, chipRadius: 8.0, dialogRadius: 16.0, cardRadius: 12.0, ), visualDensity: FlexColorScheme.comfortablePlatformDensity, useMaterial3: true, fontFamily: null, ); } /// Semantic color extensions for domain-specific colors. extension SemanticColors on ColorScheme { /// Success state color (green) Color get success => brightness == Brightness.light ? const Color(0xFF2E7D32) : const Color(0xFF81C784); /// Warning state color (orange) Color get warning => brightness == Brightness.light ? const Color(0xFFF57C00) : const Color(0xFFFFB74D); /// Info state color (blue) Color get info => brightness == Brightness.light ? const Color(0xFF1976D2) : const Color(0xFF64B5F6); }