1
1
import 'package:flutter/material.dart' ;
2
+ import 'package:provider/provider.dart' ;
2
3
import 'package:sentry_flutter/sentry_flutter.dart' ;
3
4
import 'package:text_to_image_gen/Pages/splash_screen.dart' ;
5
+ import 'package:text_to_image_gen/utils/my_states.dart' ;
4
6
5
7
6
8
Future <void > main () async {
9
+ WidgetsFlutterBinding .ensureInitialized ();
7
10
await SentryFlutter .init (
8
11
(options) => options.dsn = 'https://725035c013bd4e7495b4fc7e472f6c5f@o4505074740953088.ingest.sentry.io/4505074742132736' ,
9
12
appRunner: () => runApp (const MyApp ()),
@@ -15,14 +18,20 @@ class MyApp extends StatelessWidget {
15
18
16
19
@override
17
20
Widget build (BuildContext context) {
18
- return MaterialApp (
19
- debugShowCheckedModeBanner: false ,
20
- theme: ThemeData (
21
- textSelectionTheme: TextSelectionThemeData (
22
- cursorColor: Colors .deepPurple.shade400,
23
- ),
24
- ),
25
- home: const SplashScreen (),
26
- );
21
+ return MultiProvider (
22
+ providers: [
23
+ ChangeNotifierProvider (create: (context) => ThemeState ()),
24
+ ],
25
+ builder: (context, _) {
26
+ final themeState = Provider .of <ThemeState >(context);
27
+ themeState.getTheme ();
28
+ return MaterialApp (
29
+ debugShowCheckedModeBanner: false ,
30
+ themeMode: themeState.currentThemeMode,
31
+ theme: themeState.getLightTheme (),
32
+ darkTheme: themeState.getDarkTheme (),
33
+ home: const SplashScreen (),
34
+ );
35
+ });
27
36
}
28
37
}
0 commit comments