Files
2026-05-27 10:35:09 +05:30

97 lines
2.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../Controller/Home/Homecontroller.dart';
import '../../Helper/Constants/Colorconstants.dart';
import '../../Helper/toast.dart';
import '../Customers/Customersview.dart';
import '../Dashboard/Dashboardview.dart';
import '../Dashboard/Tabs/Createdview.dart';
import '../More/Moreview.dart';
import '../Orders/Orderspage.dart';
class HomeView extends StatelessWidget {
final int selectedIndex;
HomeView({super.key, required this.selectedIndex});
HomeController homeController = Get.put(HomeController());
DateTime? currentBackPressTime;
Future<bool> _willPopCallback() async {
DateTime now = DateTime.now();
if (currentBackPressTime == null ||
now.difference(currentBackPressTime!) > Duration(seconds: 1)) {
currentBackPressTime = now;
Toast.showToast("Press one more time to exit");
return Future.value(false);
}else{
Get.back();
return Future.value(true);
}
}
@override
Widget build(BuildContext context) {
final List<Widget> widgetOptionsNearle = _widgetOptionsNearle();
return GetBuilder<HomeController>(initState: (_) {
homeController.selectedIndex = selectedIndex;
}, builder: (controller) {
return WillPopScope(
onWillPop: _willPopCallback,
child: Scaffold(
bottomNavigationBar: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
items: <BottomNavigationBarItem>[
const BottomNavigationBarItem(
icon: Icon(Icons.home),
label: 'Home',
),
const BottomNavigationBarItem(
icon: Icon(Icons.shopping_cart),
label: 'Orders',
),
const BottomNavigationBarItem(
icon: Icon(Icons.shopping_bag),
label: 'Products',
),
const BottomNavigationBarItem(
icon: Icon(Icons.people),
label: 'Customers',
),
const BottomNavigationBarItem(
icon: Icon(Icons.person),
label: 'Accounts',
),
],
currentIndex: homeController.selectedIndex,
selectedItemColor: ColorConstants.primaryColor,
unselectedItemColor: Colors.grey,
onTap: homeController.onItemTapped,
),
body: widgetOptionsNearle[controller.selectedIndex],
),
);
});
}
List<Widget> _widgetOptionsNearle() =>
<Widget>[
DashboardView(),
OrderView(),
ProductView(),
CustomerView(),
// ReassignRidersView(deliveryDetails: DeliveriesDetails()),
MoreView()
];
}