You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
5.5 KiB
Dart
169 lines
5.5 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:mc_common_app/theme/app_theme.dart';
|
|
import 'package:logger/logger.dart';
|
|
import 'package:provider/provider.dart';
|
|
import 'package:provider/single_child_widget.dart';
|
|
import 'package:sizer/sizer.dart';
|
|
|
|
//testing push
|
|
final navigatorKey = GlobalKey<NavigatorState>();
|
|
|
|
Logger logger = Logger(
|
|
printer: PrettyPrinter(printEmojis: false, colors: true,printTime: false),
|
|
);
|
|
|
|
class MyHttpOverrides extends HttpOverrides {
|
|
@override
|
|
HttpClient createHttpClient(SecurityContext? context) {
|
|
return super.createHttpClient(context)..badCertificateCallback = (X509Certificate cert, String host, int port) => true;
|
|
}
|
|
}
|
|
|
|
Future<void> main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
await EasyLocalization.ensureInitialized();
|
|
// AppState().setPostParamsInitConfig();
|
|
HttpOverrides.global = MyHttpOverrides();
|
|
|
|
runApp(
|
|
EasyLocalization(
|
|
supportedLocales: const <Locale>[
|
|
Locale('en', 'US'),
|
|
Locale('ar', 'SA'),
|
|
],
|
|
path: 'resources',
|
|
// assetLoader: const CodegenLoader(),
|
|
child: MultiProvider(
|
|
providers: const <SingleChildWidget>[
|
|
// ChangeNotifierProvider<LoginProviderModel>(
|
|
// create: (_) => LoginProviderModel(),
|
|
// ),
|
|
],
|
|
child: const MyApp(),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
|
|
// todo terminal command to genertate translation files
|
|
// flutter pub run easy_localization:generate --source-dir ./assets/langs
|
|
// todo terminal command to genertate translation keys
|
|
// flutter pub run easy_localization:generate --source-dir ./assets/langs -f keys -o locale_keys.g.dart
|
|
// command to generate languages data from json
|
|
|
|
class MyApp extends StatelessWidget {
|
|
const MyApp({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return LayoutBuilder(builder: (context, constraints) {
|
|
return Sizer(
|
|
builder: (
|
|
BuildContext context,
|
|
Orientation orientation,
|
|
DeviceType deviceType,
|
|
) {
|
|
List<LocalizationsDelegate<dynamic>> delegates = context.localizationDelegates;
|
|
// AppState().setPostParamsModel(
|
|
// PostParamsModel(
|
|
// languageID: EasyLocalization.of(context)?.locale.languageCode == "ar" ? 1 : 2,
|
|
// ),
|
|
// );
|
|
return MaterialApp(
|
|
// key: navigatorKey,
|
|
navigatorKey: navigatorKey,
|
|
theme: AppTheme.getTheme(
|
|
isArabic: EasyLocalization.of(context)?.locale.languageCode == "ar",
|
|
),
|
|
debugShowCheckedModeBanner: false,
|
|
localizationsDelegates: delegates,
|
|
supportedLocales: context.supportedLocales,
|
|
locale: context.locale,
|
|
);
|
|
},
|
|
);
|
|
});
|
|
}
|
|
}
|
|
|
|
// class MyApp extends StatelessWidget {
|
|
// const MyApp({super.key});
|
|
//
|
|
// @override
|
|
// Widget build(BuildContext context) {
|
|
// return LayoutBuilder(builder: (context, constraints) {
|
|
// return Sizer(
|
|
// builder: (
|
|
// BuildContext context,
|
|
// Orientation orientation,
|
|
// DeviceType deviceType,
|
|
// ) {
|
|
// List<LocalizationsDelegate<dynamic>> delegates = context.localizationDelegates;
|
|
// // AppState().setPostParamsModel(
|
|
// // PostParamsModel(
|
|
// // languageID: EasyLocalization.of(context)?.locale.languageCode == "ar" ? 1 : 2,
|
|
// // ),
|
|
// // );
|
|
// return MaterialApp(
|
|
// // key: navigatorKey,
|
|
// theme: AppTheme.getTheme(
|
|
// isArabic: EasyLocalization.of(context)?.locale.languageCode == "ar",
|
|
// ),
|
|
// debugShowCheckedModeBanner: false,
|
|
// localizationsDelegates: delegates,
|
|
// supportedLocales: context.supportedLocales,
|
|
// locale: context.locale,
|
|
// );
|
|
// },
|
|
// );
|
|
// });
|
|
// }
|
|
// }
|
|
//
|
|
// // class MyApp extends StatelessWidget {
|
|
// // MyApp({super.key}) {
|
|
// // AppDependencies.addDependencies();
|
|
// // AppState = Injector.appInstance.get<AppState>();
|
|
// // // AppState.setPostParamsInitConfig();
|
|
// // }
|
|
// //
|
|
// // @override
|
|
// // Widget build(BuildContext context) {
|
|
// // return LayoutBuilder(builder: (context, constraints) {
|
|
// // return Sizer(
|
|
// // builder: (
|
|
// // BuildContext context,
|
|
// // Orientation orientation,
|
|
// // DeviceType deviceType,
|
|
// // ) {
|
|
// // SizeConfig().init(constraints, orientation);
|
|
// // List<LocalizationsDelegate<dynamic>> delegates = context.localizationDelegates;
|
|
// // // AppState().setPostParamsModel(
|
|
// // // PostParamsModel(
|
|
// // // languageID: EasyLocalization.of(context)?.locale.languageCode == "ar" ? 1 : 2,
|
|
// // // ),
|
|
// // // );
|
|
// // return MaterialApp(
|
|
// // // key: navigatorKey,
|
|
// // navigatorKey: navigatorKey,
|
|
// // theme: AppTheme.getTheme(
|
|
// // EasyLocalization.of(context)?.locale.languageCode == "ar",
|
|
// // ),
|
|
// // debugShowCheckedModeBanner: false,
|
|
// // localizationsDelegates: delegates,
|
|
// // supportedLocales: context.supportedLocales,
|
|
// // locale: context.locale,
|
|
// // initialRoute: AppRoutes.initialPage,
|
|
// // routes: AppRoutes.routes,
|
|
// // );
|
|
// // },
|
|
// // );
|
|
// // });
|
|
// // }
|
|
// // }
|