main.dart 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import 'package:firebase_core/firebase_core.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:physigo/Services/AuthService.dart';
  4. import 'package:physigo/Services/logged_in_user.dart';
  5. import 'firebase_options.dart';
  6. import 'push_notifications_initializer.dart';
  7. import 'package:physigo/logIn.dart';
  8. import 'package:physigo/profilePage.dart';
  9. import 'package:physigo/widgets/rankingNavigation.dart';
  10. import 'package:physigo/SignupPage.dart';
  11. import 'package:physigo/menu/main_page.dart';
  12. import 'package:physigo/welcomeScreen.dart';
  13. void main() async {
  14. WidgetsFlutterBinding.ensureInitialized();
  15. await Firebase.initializeApp(
  16. options: DefaultFirebaseOptions.currentPlatform,
  17. );
  18. handleMessages();
  19. runApp(const PhysiGo());
  20. }
  21. class PhysiGo extends StatelessWidget {
  22. const PhysiGo({Key? key}) : super(key: key);
  23. @override
  24. Widget build(BuildContext context) {
  25. return FutureBuilder<LoggedInUser?>(
  26. future: AuthenticationServices.getCurrentUser(),
  27. builder: (context, snapshot) {
  28. if (snapshot.connectionState == ConnectionState.waiting) {
  29. return const Center(child: CircularProgressIndicator());
  30. }
  31. return MaterialApp(
  32. title: 'PhysiGo',
  33. theme: ThemeData(
  34. primarySwatch: Colors.blueGrey,
  35. ),
  36. initialRoute: snapshot.hasData ? '/mainPage' : "/",
  37. routes: {
  38. '/': (context) => MyHomePage(title: ''),
  39. '/register': (context) => SignupPage(),
  40. //'/register2': (context) => RegisterScreen2(title: ''),
  41. //'/register3': (context) => RegisterScreen3(title: ''),
  42. '/login': (context) => LogIn(title: ''),
  43. '/profilePage': (context) => ProfilePage(title: ''),
  44. '/mainPage': (context) => MainPage()
  45. },
  46. //home: const MyHomePage(title: 'Flutter Demo Home Page'),
  47. );
  48. });
  49. }
  50. }