import 'package:flutter/material.dart'; import 'package:smoke_cess_app/pages/mood_page.dart'; import 'package:smoke_cess_app/pages/relapse_page.dart'; import 'package:smoke_cess_app/pages/scanner_page.dart'; import 'package:smoke_cess_app/pages/sleep_page.dart'; import 'package:smoke_cess_app/pages/timer_page.dart'; import 'package:smoke_cess_app/service/settings_service.dart'; import 'package:smoke_cess_app/widgets/missing_config_popup.dart'; class MyHomePage extends StatefulWidget { const MyHomePage({super.key}); @override MyHomePageState createState() => MyHomePageState(); } class MyHomePageState extends State { int _selectedIndex = 4; final SettingsService settingsService = SettingsService(); final List _titles = [ 'Stimmung', 'Schlaf', 'Timer', 'Rückfall', 'Scanner' ]; static final List _widgetOptions = [ const MoodPage(), const SleepPage(), const StopWatchTimerPage(), const RelapsePage(), SettingsPage(), ]; void _onItemTapped(int index) { setState(() async { (await settingsService.getGroup() != null) ? _selectedIndex = index : showDialog( context: context, builder: (BuildContext context) { Future.delayed( const Duration(seconds: 3), () => Navigator.of(context) .pop(true)); //Dismiss popup after 3 seconds return const MissingConfigPopup(); }); }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text(_titles[_selectedIndex])), body: _widgetOptions.elementAt(_selectedIndex), bottomNavigationBar: NavigationBar( onDestinationSelected: _onItemTapped, selectedIndex: _selectedIndex, destinations: const [ NavigationDestination( icon: Icon(Icons.mood_outlined, color: Colors.black), label: 'Stimmung'), NavigationDestination( icon: Icon(Icons.bedtime_outlined, color: Colors.black), label: 'Schlaf'), NavigationDestination( icon: Icon( Icons.timer_outlined, color: Colors.black, ), label: 'Timer'), NavigationDestination( icon: Icon(Icons.smoke_free_outlined, color: Colors.black), label: 'Rückfall'), NavigationDestination( icon: Icon(Icons.camera_alt_outlined, color: Colors.black), label: 'Settings'), ], //onTap: _onItemTapped, ), ); } }