Implementation
static ThemeData get darkTheme {
final colorScheme = ColorScheme.fromSeed(
seedColor: primary,
brightness: Brightness.dark,
primary: primary,
secondary: secondary,
error: error,
);
return ThemeData(
useMaterial3: true,
colorScheme: colorScheme,
scaffoldBackgroundColor: const Color(0xFF121212),
appBarTheme: const AppBarTheme(
centerTitle: false,
elevation: 0,
backgroundColor: Color(0xFF121212),
),
cardTheme: CardThemeData(
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
side: const BorderSide(color: Color(0xFF2A2A2A)),
),
color: const Color(0xFF1E1E1E),
),
bottomNavigationBarTheme: const BottomNavigationBarThemeData(
backgroundColor: Color(0xFF1E1E1E),
selectedItemColor: primary,
unselectedItemColor: Color(0xFF9E9E9E),
),
inputDecorationTheme: InputDecorationTheme(
filled: true,
fillColor: const Color(0xFF2A2A2A),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
borderSide: BorderSide.none,
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
borderSide: const BorderSide(color: primary, width: 2),
),
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
backgroundColor: primary,
foregroundColor: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 14),
),
),
textTheme: const TextTheme(
headlineLarge: TextStyle(fontWeight: FontWeight.bold),
headlineMedium: TextStyle(fontWeight: FontWeight.bold),
titleLarge: TextStyle(fontWeight: FontWeight.w600),
),
);
}