darkTheme property

ThemeData darkTheme
getter/setter pair

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
  ),
);