// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/material.dart'; import 'package:sampleapp/services/auth/auth.dart'; import 'package:sampleapp/router/router.dart'; import 'package:provider/provider.dart'; import 'globals.dart'; import 'locator.dart'; import 'services/auth/auth_view_model.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); // Setup injections await setup(); runApp(MyApp()); } class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State { late ReflexRouterDelegate delegate; late AuthService authService; @override void initState() { authService = locator.get(); delegate = locator.get(); super.initState(); } @override Widget build(BuildContext context) { return ChangeNotifierProvider( create: (_) => AuthViewModel(authService), child: MaterialApp( localizationsDelegates: AppLocalizations.localizationsDelegates, supportedLocales: const [ Locale('en'), Locale('fr'), Locale('es'), Locale('pl'), ], theme: ThemeData( scaffoldBackgroundColor: Globals.RP_BG_COLOR, ), home: Router(routerDelegate: delegate), ), ); } } class AuthRepository {}