✨implement light and dark theme
This commit is contained in:
+27
-2
@@ -2,8 +2,10 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:tm_app/core/config/dependencies.dart';
|
||||
import 'package:tm_app/core/theme/theme_provider.dart';
|
||||
|
||||
import 'core/routes/app_routes.dart';
|
||||
import 'core/theme/colors.dart';
|
||||
import 'core/utils/logger.dart';
|
||||
|
||||
void main() {
|
||||
@@ -17,15 +19,38 @@ void main() {
|
||||
runApp(MultiProvider(providers: [...providersRemote], child: const MyApp()));
|
||||
}
|
||||
|
||||
class MyApp extends StatelessWidget {
|
||||
class MyApp extends StatefulWidget {
|
||||
const MyApp({super.key});
|
||||
|
||||
@override
|
||||
State<MyApp> createState() => _MyAppState();
|
||||
}
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
// Set the context for ThemeProvider to enable forced rebuilds
|
||||
ThemeProvider.setContext(context);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
// Listen to theme changes
|
||||
final themeProvider = context.watch<ThemeProvider>();
|
||||
|
||||
return MaterialApp.router(
|
||||
title: 'Flutter Demo',
|
||||
theme: ThemeData(
|
||||
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
|
||||
brightness:
|
||||
themeProvider.isDarkMode ? Brightness.dark : Brightness.light,
|
||||
primaryColor: AppColors.primaryColor,
|
||||
scaffoldBackgroundColor: AppColors.backgroundColor,
|
||||
colorScheme: ColorScheme.fromSeed(
|
||||
seedColor: AppColors.primaryColor,
|
||||
brightness:
|
||||
themeProvider.isDarkMode ? Brightness.dark : Brightness.light,
|
||||
),
|
||||
),
|
||||
routerConfig: appRouter,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user