Files
kmobile/lib/config/themes.dart
2025-09-04 01:57:32 +05:30

134 lines
4.0 KiB
Dart

/*import 'package:flutter/material.dart';
import 'theme_type.dart';
import 'package:google_fonts/google_fonts.dart';
class AppThemes {
static ThemeData getLightTheme(ThemeType type) {
final Color seedColor;
switch (type) {
case ThemeType.green:
seedColor = Colors.green;
break;
case ThemeType.orange:
seedColor = Colors.orange;
break;
case ThemeType.blue:
seedColor = Colors.blue;
break;
case ThemeType.violet:
seedColor = Colors.deepPurple;
break;
}
final colorScheme = ColorScheme.fromSeed(
seedColor: seedColor,
brightness: Brightness.light, // Explicitly set for a light theme
);
return ThemeData.from(
colorScheme: colorScheme,
useMaterial3: true, // Recommended for modern Flutter apps
textTheme: GoogleFonts.rubikTextTheme())
.copyWith(
scaffoldBackgroundColor: Colors.white,
bottomNavigationBarTheme: BottomNavigationBarThemeData(
backgroundColor: colorScheme.surface,
),
);
}
}*/
import 'dart:developer';
import 'package:flutter/material.dart';
import 'theme_type.dart';
import 'package:google_fonts/google_fonts.dart';
class AppThemes {
static ThemeData getLightTheme(ThemeType type) {
final Color seedColor = _getSeedColor(type);
final colorScheme = ColorScheme.fromSeed(
seedColor: seedColor,
brightness: Brightness.light,
);
return ThemeData.from(
colorScheme: colorScheme,
useMaterial3: true,
textTheme: GoogleFonts.rubikTextTheme(),
);
// .copyWith(
// scaffoldBackgroundColor: Colors.white,
// bottomNavigationBarTheme: BottomNavigationBarThemeData(
// backgroundColor: colorScheme.surface,
// ),
// );
}
static ThemeData getDarkTheme(ThemeType type) {
final Color seedColor = _getSeedColor(type);
log(seedColor.toString());
final colorScheme = ColorScheme.fromSeed(
seedColor: seedColor,
brightness: Brightness.dark,
// Define custom background and surface colors for better contrast
// background: const Color(0xFF121212), // A common dark theme background c
// surface: const Color(0xFF1E1E1E), // A slightly lighter surface color
);
return ThemeData.from(
colorScheme: colorScheme,
useMaterial3: true,
textTheme: GoogleFonts.rubikTextTheme(
ThemeData(brightness: Brightness.dark).textTheme,
),
);
// .copyWith(
// Explicitly set scaffold background color
// scaffoldBackgroundColor: colorScheme.background,
// // Customize card theme for dark mode
// cardTheme: CardTheme(
// elevation: 2,
// color: colorScheme.surface,
// surfaceTintColor: colorScheme.surface,
// ),
// // Customize text input fields
// inputDecorationTheme: InputDecorationTheme(
// filled: true,
// fillColor: colorScheme.surface,
// border: OutlineInputBorder(
// borderRadius: BorderRadius.circular(8),
// borderSide: BorderSide.none,
// ),
// focusedBorder: OutlineInputBorder(
// borderRadius: BorderRadius.circular(8),
// borderSide: BorderSide(color: colorScheme.primary),
// ),
// ),
// Ensure icons have a contrasting color
// iconTheme: IconThemeData(color: colorScheme.onSurface),
// Adjust bottom navigation bar
// bottomNavigationBarTheme: BottomNavigationBarThemeData(
// backgroundColor: colorScheme.surface,
// selectedItemColor: colorScheme.primary,
// unselectedItemColor: colorScheme.onSurface.withOpacity(0.6),
// ),
// );
}
static Color _getSeedColor(ThemeType type) {
switch (type) {
case ThemeType.green:
return Colors.green;
case ThemeType.orange:
return Colors.orange;
case ThemeType.blue:
return Colors.blue;
case ThemeType.violet:
return Colors.deepPurple;
case ThemeType.yellow:
return Colors.yellow;
}
}
}