import 'package:flutter/material.dart'; import 'package:provider/provider.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/interval_page.dart'; import 'package:smoke_cess_app/providers/settings_provider.dart'; import 'package:smoke_cess_app/services/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; int? _gruppe; final List _titles = [ 'Stimmung', 'Schlaf', 'Timer', 'Rückfall', 'Scanner' ]; static const List _widgetOptions = [ MoodPage(), SleepPage(), IntervalTimerPage(), RelapsePage(), ScannerPage(), ]; Future _onItemTapped(int index) async { _gruppe = await getGroup(); bool isConfigured = _gruppe != null; setState(() { isConfigured ? _selectedIndex = index : showDialog( context: context, builder: (BuildContext context) { return const MissingConfigPopup( title: 'Fehlende Konfiguration', text: 'Bitte QR Code Scannen!', ); }); }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text( '${_titles[_selectedIndex]} ${_gruppe != null ? "Gruppe $_gruppe" : ""}')), 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, ), ); } }