diff options
Diffstat (limited to 'lib/main.dart')
-rw-r--r-- | lib/main.dart | 23 |
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(), + ); + }); } } |