import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; // My Codes import './controller/language_change_controller.dart'; import './views/home.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); SharedPreferences sp = await SharedPreferences.getInstance(); final String locale = sp.getString('locale') ?? ''; //print(locale); runApp(MyApp(locale: locale)); } class MyApp extends StatelessWidget { final String locale; const MyApp({super.key, required this.locale}); // This widget is the root of your application. @override Widget build(BuildContext context) { return MultiProvider( providers: [ ChangeNotifierProvider(create: (_) => LanguageChangeController()) ], child: Consumer( builder: (context, provider, child) { if (locale.isEmpty) { provider.changeLanguage(Locale('en')); } return MaterialApp( localizationsDelegates: AppLocalizations.localizationsDelegates, supportedLocales: AppLocalizations.supportedLocales, locale: provider.appLocale, title: 'Kittipoyi - Service Provider', theme: ThemeData( colorScheme: ColorScheme.fromSeed( seedColor: const Color.fromRGBO(240, 86, 39, 1)), useMaterial3: true, ), routes: {Home.routeName: (context) => const Home()}, home: const Home(), ); }), ); } }