darkTheme property
Implementation
static ThemeData darkTheme = ThemeData(
brightness: Brightness.dark,
scaffoldBackgroundColor: AppColors.grey.s900,
primaryColor: AppColors.indigo.s400,
dividerColor: AppColors.grey.s300,
colorScheme: ColorScheme.dark(
primary: AppColors.indigo.s200,
secondary: AppColors.indigo.s300,
surface: AppColors.grey.s800,
error: AppColors.red.s300,
),
textTheme: _createTextTheme(AppColors.grey.s50),
elevatedButtonTheme: ElevatedButtonThemeData(
style: _createElevatedButtonStyle(
backgroundColor: AppColors.indigo.s400,
foregroundColor: Colors.white,
),
),
outlinedButtonTheme: OutlinedButtonThemeData(
style: _createOutlinedButtonStyle(
foregroundColor: Colors.white,
backgroundColor: AppColors.grey.s800,
side: BorderSide.none,
),
),
textButtonTheme: TextButtonThemeData(
style: ButtonStyle(
padding: WidgetStateProperty.all(AppSizes.getPadding(ComponentSize.md)),
textStyle: WidgetStateProperty.all(AppTypography.labelLarge),
foregroundColor: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.hovered)) {
return AppColors.gray.s50;
}
return AppColors.gray.s200;
}),
backgroundColor: WidgetStateProperty.all(Colors.transparent),
overlayColor: WidgetStateProperty.all(Colors.transparent),
splashFactory: NoSplash.splashFactory,
side: WidgetStateProperty.all(BorderSide.none),
),
),
textSelectionTheme: TextSelectionThemeData(
cursorColor: AppColors.indigo.s400, // Couleur du curseur
selectionColor: AppColors.indigo.s400, // Sélection de texte
selectionHandleColor: AppColors.indigo.s400, // Poignée de sélection
),
inputDecorationTheme: _createInputDecorationTheme(
fillColor: AppColors.grey.s800,
hintColor: AppColors.gray.s200,
enabledBorderColor: AppColors.gray.s600,
focusedBorderColor: AppColors.indigo.s400,
errorBorderColor: AppColors.red.s300,
disabledFillColor: AppColors.gray.s700,
),
switchTheme: _createSwitchThemeData(
selectedThumbColor: AppColors.indigo.s200,
unselectedThumbColor: AppColors.grey.s100,
selectedTrackColor: AppColors.gray.s700,
unselectedTrackColor: AppColors.gray.s700,
selectedTrackBorderColor: AppColors.indigo.s200,
unselectedTrackBorderColor: AppColors.gray.s300,
disabledThumbColor: AppColors.gray.s400,
disabledTrackColor: AppColors.gray.s600,
disabledTrackBorderColor: AppColors.gray.s500,
),
iconTheme: IconThemeData(
color: AppColors.grey.s50, // Couleur d'icône par défaut en mode sombre
),
);