Files
salvadordeveloper b279b64c6e Initial commit
2021-05-27 15:59:34 -06:00

45 lines
1.4 KiB
Dart

import 'package:cryptocurrency_app/constants/app_theme.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart' as DotEnv;
import 'provider/settings_provider.dart';
import 'ui/home.dart';
import 'package:cryptocurrency_app/constants/utils.dart' as Utils;
void main() async {
await DotEnv.load(fileName: ".env");
WidgetsFlutterBinding.ensureInitialized();
await EasyLocalization.ensureInitialized();
runApp(EasyLocalization(
supportedLocales: [Locale('en'), Locale('es')],
path: 'assets/translations',
fallbackLocale: Locale('en'),
child: ProviderScope(child: MyApp())));
}
class MyApp extends HookWidget {
MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
final settings = useProvider(cryptoSettings);
final themeMode = settings.maybeWhen(
data: (data) => Utils.getThemeMode(data.themeMode),
orElse: () => ThemeMode.system);
return MaterialApp(
debugShowCheckedModeBanner: false,
localizationsDelegates: context.localizationDelegates,
supportedLocales: context.supportedLocales,
locale: context.locale,
home: Home(),
themeMode: themeMode,
theme: AppTheme.light,
darkTheme: AppTheme.dark);
}
}