Added variable opening page based on time
This commit is contained in:
17
lib/models/initialPageIndexFunction.dart
Normal file
17
lib/models/initialPageIndexFunction.dart
Normal 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;
|
||||||
|
}
|
||||||
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user