import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:woofnwalk/providers/accountAuth.dart';
import 'package:woofnwalk/providers/googleSignIn.dart';
import 'package:woofnwalk/screens/maps/filter_walkers_screen.dart';
import 'package:woofnwalk/screens/maps/walkers_list_screen.dart';
import 'package:woofnwalk/screens/splashScreen.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:woofnwalk/providers/utils.dart';
Future main() async{
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
final ThemeData appTheme = ThemeData(
primaryColor: Colors.grey,
colorScheme: ColorScheme.fromSwatch(primarySwatch: Colors.deepPurple)
.copyWith(secondary: Colors.deepPurpleAccent[700])
);
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
Provider<AuthenticateService>(
create: (_) => AuthenticateService(FirebaseAuth.instance)
),
StreamProvider(
create: (context)=> context.read<AuthenticateService>().authStateChanges, initialData: null,
),
ChangeNotifierProvider<GoogleSignInProvider>(
create: (context) => GoogleSignInProvider()
),
],
child: MaterialApp(
title: 'Woof n Walk',
theme: appTheme,
scaffoldMessengerKey: Utils.messengerKey,
initialRoute: '/',
routes: {
'/': (context) => Splash(),
WalkersList.routeName: (context) => WalkersList(),
FilterWalkersScreen.routeName: (context) => FilterWalkersScreen(),
},
),
);
}
}