Added variable opening page based on time

This commit is contained in:
2023-09-29 12:12:36 +05:30
parent ed9d694a72
commit c5b5c33845
2 changed files with 19 additions and 1 deletions

View File

@@ -0,0 +1,17 @@
// ignore_for_file: file_names
int getInitialPageIndex() {
DateTime currentDate = DateTime.now();
late final int initPage;
if (currentDate.hour < 10) {
initPage = 0;
} else if (currentDate.hour >= 10 && currentDate.hour < 15) {
initPage = 1;
} else if (currentDate.hour >= 15 && currentDate.hour < 18) {
initPage = 2;
} else {
initPage = 3;
}
print(initPage);
return initPage;
}

View File

@@ -3,6 +3,7 @@
import "package:flutter/material.dart"; import "package:flutter/material.dart";
import "package:iiitb_menu/constants.dart"; import "package:iiitb_menu/constants.dart";
import "package:iiitb_menu/models/globalModel.dart"; import "package:iiitb_menu/models/globalModel.dart";
import "package:iiitb_menu/models/initialPageIndexFunction.dart";
import "package:iiitb_menu/views/menuListView.dart"; import "package:iiitb_menu/views/menuListView.dart";
import "package:provider/provider.dart"; import "package:provider/provider.dart";
@@ -13,6 +14,7 @@ class HomePage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return SafeArea( return SafeArea(
child: DefaultTabController( child: DefaultTabController(
initialIndex: getInitialPageIndex(),
length: 4, length: 4,
child: Builder(builder: (context) { child: Builder(builder: (context) {
TabController cont = DefaultTabController.of(context); TabController cont = DefaultTabController.of(context);
@@ -20,7 +22,6 @@ class HomePage extends StatelessWidget {
Provider.of<GlobalModel>(context, listen: false) Provider.of<GlobalModel>(context, listen: false)
.setMenuTime(cont.index); .setMenuTime(cont.index);
}); });
// }
return Consumer<GlobalModel>( return Consumer<GlobalModel>(
builder: (BuildContext context, GlobalModel data, Widget? child) { builder: (BuildContext context, GlobalModel data, Widget? child) {
return Scaffold( return Scaffold(