summaryrefslogtreecommitdiff
path: root/lib/main.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/main.dart')
-rw-r--r--lib/main.dart23
1 files changed, 16 insertions, 7 deletions
diff --git a/lib/main.dart b/lib/main.dart
index a174aaa..041ab7f 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,9 +1,12 @@
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
+import 'package:pmsna1/firebase/auth.dart';
import 'package:pmsna1/providers/events_provider.dart';
import 'package:pmsna1/providers/flags_provider.dart';
import 'package:pmsna1/providers/theme_provider.dart';
import 'package:pmsna1/routes.dart';
+import 'package:pmsna1/screens/dashboard_screen.dart';
+import 'package:pmsna1/screens/login_screen.dart';
import 'package:pmsna1/settings/themes.dart';
import 'package:provider/provider.dart';
@@ -50,12 +53,18 @@ class PMSNA1 extends StatelessWidget {
final ThemeProvider provider = context.watch<ThemeProvider>();
final ThemeData? theme = provider.theme;
provider.syncFromPrefs();
- return MaterialApp(
- theme: theme ?? ThemeSettings.lightTheme,
- darkTheme: theme ?? ThemeSettings.darkTheme,
- themeMode: ThemeMode.system,
- routes: getApplicationRoutes(),
- initialRoute: '/login',
- );
+ return StreamBuilder(
+ stream: Auth().userChanges,
+ builder: (context, snapshot) {
+ return MaterialApp(
+ theme: theme ?? ThemeSettings.lightTheme,
+ darkTheme: theme ?? ThemeSettings.darkTheme,
+ themeMode: ThemeMode.system,
+ routes: getApplicationRoutes(),
+ home: snapshot.data != null && !snapshot.data!.isAnonymous
+ ? const DashboardScreen()
+ : const LoginScreen(),
+ );
+ });
}
}