import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'app_colors.dart'; /// Genex Issuer Console - Material 3 Theme /// /// 企业端主题:更沉稳的企业管理风格 class AppTheme { AppTheme._(); static ThemeData get light => ThemeData( useMaterial3: true, brightness: Brightness.light, colorScheme: const ColorScheme.light( primary: AppColors.primary, primaryContainer: AppColors.primaryContainer, secondary: AppColors.success, error: AppColors.error, surface: AppColors.surface, onPrimary: Colors.white, onSurface: AppColors.textPrimary, outline: AppColors.border, ), scaffoldBackgroundColor: AppColors.background, appBarTheme: const AppBarTheme( elevation: 0, scrolledUnderElevation: 0.5, centerTitle: true, backgroundColor: AppColors.surface, foregroundColor: AppColors.textPrimary, surfaceTintColor: Colors.transparent, systemOverlayStyle: SystemUiOverlayStyle( statusBarColor: Colors.transparent, statusBarIconBrightness: Brightness.dark, ), ), navigationBarTheme: NavigationBarThemeData( backgroundColor: AppColors.surface, indicatorColor: AppColors.primaryContainer, surfaceTintColor: Colors.transparent, elevation: 0, height: 80, labelBehavior: NavigationDestinationLabelBehavior.alwaysShow, ), cardTheme: CardThemeData( elevation: 0, color: AppColors.surface, surfaceTintColor: Colors.transparent, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), side: const BorderSide(color: AppColors.borderLight, width: 1), ), margin: EdgeInsets.zero, ), elevatedButtonTheme: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( backgroundColor: AppColors.primary, foregroundColor: Colors.white, elevation: 0, minimumSize: const Size(double.infinity, 52), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), ), ), ), inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: AppColors.gray50, contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), border: OutlineInputBorder( borderRadius: BorderRadius.circular(12), borderSide: BorderSide.none, ), enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(12), borderSide: const BorderSide(color: AppColors.borderLight, width: 1), ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(12), borderSide: const BorderSide(color: AppColors.primary, width: 1.5), ), ), ); }