refactoring and checkpoint

This commit is contained in:
DahoudG
2024-09-24 00:32:20 +00:00
parent dc73ba7dcc
commit 6b12cfeb41
159 changed files with 8119 additions and 1535 deletions

View File

@@ -1,20 +1,116 @@
import 'package:flutter/material.dart';
import 'package:afterwork/core/constants/colors.dart';
/// Classe qui définit les thèmes de l'application AfterWork.
/// Elle gère à la fois le thème clair et le thème sombre, avec des personnalisations
/// pour les couleurs, les boutons, les textes et d'autres éléments visuels.
class AppTheme {
/// Thème clair
static final ThemeData lightTheme = ThemeData(
primaryColor: Colors.blue,
colorScheme: const ColorScheme.light(
secondary: Colors.orange,
),
brightness: Brightness.light,
buttonTheme: const ButtonThemeData(buttonColor: Colors.blue),
primaryColor: AppColors.lightPrimary,
scaffoldBackgroundColor: AppColors.lightBackground,
appBarTheme: const AppBarTheme(
color: AppColors.lightPrimary,
iconTheme: IconThemeData(color: AppColors.lightOnPrimary),
),
iconTheme: const IconThemeData(color: AppColors.lightTextPrimary),
colorScheme: const ColorScheme.light(
primary: AppColors.lightPrimary,
secondary: AppColors.lightSecondary,
onPrimary: AppColors.lightOnPrimary,
onSecondary: AppColors.lightOnSecondary,
surface: AppColors.lightSurface,
),
buttonTheme: const ButtonThemeData(
buttonColor: AppColors.lightPrimary,
textTheme: ButtonTextTheme.primary,
),
textTheme: const TextTheme(
bodyLarge: TextStyle(color: AppColors.lightTextPrimary),
bodyMedium: TextStyle(color: AppColors.lightTextSecondary),
titleLarge: TextStyle(color: AppColors.lightTextPrimary),
),
inputDecorationTheme: InputDecorationTheme(
filled: true,
fillColor: AppColors.lightSurface,
labelStyle: const TextStyle(color: AppColors.lightTextPrimary),
hintStyle: const TextStyle(color: AppColors.lightTextSecondary),
focusedBorder: OutlineInputBorder(
borderSide: const BorderSide(color: AppColors.lightPrimary),
borderRadius: BorderRadius.circular(12.0),
),
enabledBorder: OutlineInputBorder(
borderSide: const BorderSide(color: Colors.grey),
borderRadius: BorderRadius.circular(12.0),
),
),
floatingActionButtonTheme: const FloatingActionButtonThemeData(
backgroundColor: AppColors.lightPrimary,
foregroundColor: AppColors.lightOnPrimary,
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
backgroundColor: AppColors.lightPrimary,
foregroundColor: AppColors.lightOnPrimary,
padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 16),
textStyle: const TextStyle(fontSize: 18),
),
),
);
/// Thème sombre
static final ThemeData darkTheme = ThemeData(
primaryColor: Colors.black,
colorScheme: const ColorScheme.dark(
secondary: Colors.red,
),
brightness: Brightness.dark,
primaryColor: AppColors.darkPrimary,
scaffoldBackgroundColor: AppColors.darkBackground,
appBarTheme: const AppBarTheme(
color: AppColors.darkPrimary,
iconTheme: IconThemeData(color: AppColors.darkOnPrimary),
),
iconTheme: const IconThemeData(color: AppColors.darkTextPrimary),
colorScheme: const ColorScheme.dark(
primary: AppColors.darkPrimary,
secondary: AppColors.darkSecondary,
onPrimary: AppColors.darkOnPrimary,
onSecondary: AppColors.darkOnSecondary,
surface: AppColors.darkSurface,
),
buttonTheme: const ButtonThemeData(
buttonColor: AppColors.darkSecondary,
textTheme: ButtonTextTheme.primary,
),
textTheme: const TextTheme(
bodyLarge: TextStyle(color: AppColors.darkTextPrimary),
bodyMedium: TextStyle(color: AppColors.darkTextSecondary),
titleLarge: TextStyle(color: AppColors.darkTextPrimary),
),
inputDecorationTheme: InputDecorationTheme(
filled: true,
fillColor: AppColors.darkSurface,
labelStyle: const TextStyle(color: AppColors.darkTextPrimary),
hintStyle: const TextStyle(color: AppColors.darkTextSecondary),
focusedBorder: OutlineInputBorder(
borderSide: const BorderSide(color: AppColors.darkSecondary),
borderRadius: BorderRadius.circular(12.0),
),
enabledBorder: OutlineInputBorder(
borderSide: const BorderSide(color: AppColors.darkTextSecondary),
borderRadius: BorderRadius.circular(12.0),
),
),
floatingActionButtonTheme: const FloatingActionButtonThemeData(
backgroundColor: AppColors.darkSecondary,
foregroundColor: AppColors.darkOnPrimary,
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
backgroundColor: AppColors.darkSecondary,
foregroundColor: AppColors.darkOnPrimary,
padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 16),
textStyle: const TextStyle(fontSize: 18),
),
),
);
}