76 lines
1.9 KiB
Dart
76 lines
1.9 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:local_spend/pages/receipt_page_2.dart';
|
|
import 'package:local_spend/pages/more_page.dart';
|
|
import 'package:local_spend/pages/stats_page.dart';
|
|
import 'package:local_spend/pages/map_page.dart';
|
|
|
|
class HomePage extends StatelessWidget {
|
|
static String _title = 'SpendTracker';
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MaterialApp(
|
|
title: _title,
|
|
home: HomePageWidget(),
|
|
);
|
|
}
|
|
}
|
|
|
|
class HomePageWidget extends StatefulWidget {
|
|
HomePageWidget({Key key}) : super(key: key);
|
|
|
|
@override
|
|
_HomePageState createState() => _HomePageState();
|
|
}
|
|
|
|
class _HomePageState extends State<HomePageWidget> {
|
|
int _selectedIndex = 0;
|
|
|
|
static const TextStyle optionStyle =
|
|
TextStyle(fontSize: 30, fontWeight: FontWeight.bold);
|
|
static List<Widget> _widgetOptions = <Widget>[
|
|
ReceiptPage2(),
|
|
StatsPage(),
|
|
MapPage(),
|
|
MorePage()
|
|
];
|
|
|
|
void _onItemTapped(int index) {
|
|
setState(() {
|
|
_selectedIndex = index;
|
|
});
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
body: Center(
|
|
child: _widgetOptions.elementAt(_selectedIndex),
|
|
),
|
|
bottomNavigationBar: BottomNavigationBar(
|
|
items: const <BottomNavigationBarItem>[
|
|
BottomNavigationBarItem(
|
|
icon: Icon(Icons.receipt),
|
|
title: Text('Submit Receipt'),
|
|
),
|
|
BottomNavigationBarItem(
|
|
icon: Icon(Icons.show_chart),
|
|
title: Text('Statistics'),
|
|
),
|
|
BottomNavigationBarItem(
|
|
icon: Icon(Icons.map),
|
|
title: Text('Locations'),
|
|
),
|
|
BottomNavigationBarItem(
|
|
icon: Icon(Icons.more_horiz),
|
|
title: Text('More'),
|
|
),
|
|
],
|
|
currentIndex: _selectedIndex,
|
|
unselectedItemColor: Colors.grey[400],
|
|
selectedItemColor: Colors.blue[400],
|
|
onTap: _onItemTapped,
|
|
),
|
|
);
|
|
}
|
|
}
|