guru_sdk/guru_app/packages/guru_assistant/example/lib/main.dart

64 lines
2.5 KiB
Dart

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:example/theme/example_theme.dart';
import 'package:get/get.dart';
import 'package:guru_widgets/theme/guru_theme.dart';
import 'package:guru_utils/router/router.dart';
import 'route/router.dart';
void main() async {
runZonedGuarded(
() => runApp(GuruTheme(
guruTheme: ExampleThemes.defaultGuruTheme,
child: GetMaterialApp(
title: "GURU DEBUG",
theme: ExampleThemes.defaultLightTheme,
initialRoute: AppPages.initialPath,
routingCallback: RoutingObserver.listener,
localizationsDelegates: const [
// Built-in localization of basic text for Material widgets
GlobalMaterialLocalizations.delegate,
// Built-in localization for text direction LTR/RTL
GlobalWidgetsLocalizations.delegate,
// Built-in localization of basic text for Cupertino widgets
GlobalCupertinoLocalizations.delegate,
],
localeResolutionCallback: (locale, supportedLocales) {
// Check if the current device locale is supported
//supportedLocales.firstWhere((supportedLocale) => supportedLocale.languageCode == locale.languageCode, orElse: () => supportedLocales.first),
Locale? matchLocale;
if (locale != null) {
for (var supportedLocale in supportedLocales) {
if (supportedLocale.languageCode == locale.languageCode &&
supportedLocale.countryCode == locale.countryCode) {
matchLocale = supportedLocale;
break;
}
}
if (matchLocale == null) {
for (var supportedLocale in supportedLocales) {
if (supportedLocale.languageCode == locale.languageCode) {
matchLocale = supportedLocale;
break;
}
}
}
}
matchLocale = matchLocale ?? const Locale("en", "US");
Get.locale = matchLocale;
return matchLocale;
},
getPages: AppPages.routes,
),
)),
_recordError);
}
Future<void> _recordError(dynamic exception, StackTrace stack) async {
debugPrint("record error! ===> $exception $stack");
}