refactoring mainpage
parent
95915e759b
commit
01d62a291c
|
@ -1,12 +1,7 @@
|
|||
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/pages/pages_service.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 {
|
||||
|
@ -20,21 +15,6 @@ class MyHomePageState extends State<MyHomePage> {
|
|||
int _selectedIndex = 4;
|
||||
bool _isConfigured = false;
|
||||
|
||||
final List<String> _titles = [
|
||||
'Stimmung',
|
||||
'Schlaf',
|
||||
'Timer',
|
||||
'Rückfall',
|
||||
'Scanner'
|
||||
];
|
||||
static const List<Widget> _widgetOptions = <Widget>[
|
||||
MoodPage(),
|
||||
SleepPage(),
|
||||
IntervalTimerPage(),
|
||||
RelapsePage(),
|
||||
ScannerPage(),
|
||||
];
|
||||
|
||||
void _onItemTapped(int index) {
|
||||
setState(() {
|
||||
_isConfigured
|
||||
|
@ -58,34 +38,17 @@ class MyHomePageState extends State<MyHomePage> {
|
|||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text(
|
||||
'${_titles[_selectedIndex]} ${_isConfigured ? "Gruppe $group" : ""}')),
|
||||
body: _widgetOptions.elementAt(_selectedIndex),
|
||||
'${pages.keys.elementAt(_selectedIndex)} ${_isConfigured ? "Gruppe $group" : ""}')),
|
||||
body: pages.values.elementAt(_selectedIndex)['page'],
|
||||
bottomNavigationBar: NavigationBar(
|
||||
onDestinationSelected: _onItemTapped,
|
||||
selectedIndex: _selectedIndex,
|
||||
destinations: const <Widget>[
|
||||
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,
|
||||
),
|
||||
onDestinationSelected: _onItemTapped,
|
||||
selectedIndex: _selectedIndex,
|
||||
destinations: pages.keys.map((key) {
|
||||
return NavigationDestination(
|
||||
icon: pages[key]!['icon'] ??
|
||||
const Icon(Icons.disabled_by_default),
|
||||
label: key);
|
||||
}).toList()),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'interval_page.dart';
|
||||
import 'mood_page.dart';
|
||||
import 'relapse_page.dart';
|
||||
import 'scanner_page.dart';
|
||||
import 'sleep_page.dart';
|
||||
|
||||
const pages = {
|
||||
'Stimmung': {
|
||||
'page': MoodPage(),
|
||||
'icon': Icon(Icons.mood_outlined, color: Colors.black)
|
||||
},
|
||||
'Schlaf': {
|
||||
'page': SleepPage(),
|
||||
'icon': Icon(Icons.bedtime_outlined, color: Colors.black)
|
||||
},
|
||||
'Timer': {
|
||||
'page': IntervalTimerPage(),
|
||||
'icon': Icon(Icons.smoke_free_outlined, color: Colors.black)
|
||||
},
|
||||
'Rückfall': {
|
||||
'page': RelapsePage(),
|
||||
'icon': Icon(
|
||||
Icons.timer_outlined,
|
||||
color: Colors.black,
|
||||
)
|
||||
},
|
||||
'Scanner': {
|
||||
'page': ScannerPage(),
|
||||
'icon': Icon(Icons.camera_alt_outlined, color: Colors.black)
|
||||
},
|
||||
};
|
Loading…
Reference in New Issue