import 'package:flutter/material.dart'; import 'package:maggs_victory_voyage/pages/feed_page.dart'; import 'package:maggs_victory_voyage/pages/games_page.dart'; import 'package:maggs_victory_voyage/services/db_helper.dart'; import 'package:provider/provider.dart'; import '../services/feed_provider.dart'; import 'login_page.dart'; class SplashPage extends StatefulWidget { const SplashPage({super.key}); @override State createState() => _SplashPageState(); } class _SplashPageState extends State { late final Future loginFuture; int currentPageIndex = 0; final List tabs = [ const GamesPage(), const FeedPage(), const FeedPage(), ]; @override void initState() { super.initState(); loginFuture = DbHelper.autoLogin(); DbHelper.authEventStream.listen((event) => setState(() {})); } @override Widget build(BuildContext context) { return FutureBuilder( future: loginFuture, builder: (context, snapshot) { if (snapshot.hasData) { return _getContent(); } return const Scaffold( body: Center( child: CircularProgressIndicator(), ), ); }, ); } Widget _getContent() { if (DbHelper.currentUser == null) { return const LoginPage(); } Provider.of(context, listen: false).feed; return Scaffold( body: tabs.elementAt(currentPageIndex), // const Column( // children: [ // Text('Logged in!'), // TextButton( // onPressed: DbHelper.logout, // child: Text('Log out'), // ), // ], // ), bottomNavigationBar: BottomNavigationBar( items: const [ BottomNavigationBarItem( icon: Icon( Icons.home, color: Colors.white, ), label: 'Home', ), BottomNavigationBarItem( icon: Icon( Icons.add_rounded, color: Colors.white, ), label: 'Add', ), BottomNavigationBarItem( icon: Icon( Icons.auto_awesome_rounded, color: Colors.white, ), label: 'Events', ), ], currentIndex: currentPageIndex, onTap: (index) => setState(() => currentPageIndex = index), ), ); } }