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 _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 widgetOptionsNearle = _widgetOptionsNearle(); return GetBuilder(initState: (_) { homeController.selectedIndex = selectedIndex; }, builder: (controller) { return WillPopScope( onWillPop: _willPopCallback, child: Scaffold( bottomNavigationBar: BottomNavigationBar( type: BottomNavigationBarType.fixed, items: [ 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 _widgetOptionsNearle() => [ DashboardView(), OrderView(), ProductView(), CustomerView(), // ReassignRidersView(deliveryDetails: DeliveriesDetails()), MoreView() ]; }