Fix title not changing when swiped

This commit is contained in:
2023-09-10 14:17:35 +05:30
parent 99ac404ecc
commit e2fece76a6

View File

@@ -16,18 +16,29 @@ class HomePage extends StatelessWidget {
return SafeArea( return SafeArea(
child: DefaultTabController( child: DefaultTabController(
length: 4, length: 4,
child: Consumer<GlobalModel>( child: Builder(builder: (context) {
TabController cont = DefaultTabController.of(context);
// print("Rebuilt");
// if (!cont.hasListeners) {
// print("Adding callback");
cont.addListener(() {
// print("Called Callback");
Provider.of<GlobalModel>(context, listen: false)
.setMenuTime(cont.index);
});
// }
return Consumer<GlobalModel>(
builder: (BuildContext context, GlobalModel data, Widget? child) { builder: (BuildContext context, GlobalModel data, Widget? child) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text("Daily ${data.menuTime} Menu"), title: Text("Daily ${data.menuTime} Menu"),
bottom: TabBar( bottom: TabBar(
controller: cont,
splashFactory: NoSplash.splashFactory, splashFactory: NoSplash.splashFactory,
indicator: const UnderlineTabIndicator( indicator: const UnderlineTabIndicator(
insets: EdgeInsets.fromLTRB(10, 3, 10, 3)), insets: EdgeInsets.fromLTRB(10, 3, 10, 3)),
onTap: (int index) { onTap: (int index) {
Provider.of<GlobalModel>(context, listen: false) data.setMenuTime(index);
.setMenuTime(index);
}, },
tabs: const [ tabs: const [
Tab(icon: Icon(Icons.breakfast_dining_outlined)), Tab(icon: Icon(Icons.breakfast_dining_outlined)),
@@ -51,10 +62,10 @@ class HomePage extends StatelessWidget {
showDatePicker( showDatePicker(
context: context, context: context,
initialDate: data.currentDate, initialDate: data.currentDate,
firstDate: firstDate: data.currentDate
data.currentDate.add(const Duration(days: -30)), .add(const Duration(days: -30)),
lastDate: lastDate: data.currentDate
data.currentDate.add(const Duration(days: 30))) .add(const Duration(days: 30)))
.then((value) { .then((value) {
data.setDateToADay(value ?? data.currentDate); data.setDateToADay(value ?? data.currentDate);
}); });
@@ -80,6 +91,7 @@ class HomePage extends StatelessWidget {
], ],
), ),
body: TabBarView( body: TabBarView(
controller: cont,
children: data.menuAvailable children: data.menuAvailable
? const [ ? const [
MenuListView(menuType: "bf"), MenuListView(menuType: "bf"),
@@ -94,6 +106,7 @@ class HomePage extends StatelessWidget {
noMenuWidget, noMenuWidget,
]), ]),
); );
});
}), }),
), ),
); );