import 'package:badges/badges.dart' as b; import 'package:car_provider_app/view_models/dashboard_view_model.dart'; import 'package:car_provider_app/views/dashboard/fragments/appoinment_fragment.dart'; import 'package:car_provider_app/views/dashboard/widget/drawer_widget.dart'; import 'package:flutter/material.dart'; import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/bottom_nav_bar.dart'; import 'package:provider/provider.dart'; import 'fragments/home_fragment.dart'; import 'fragments/request_list_fragment.dart'; class DashboardPage extends StatefulWidget { const DashboardPage({Key? key}) : super(key: key); @override State createState() => _DashboardPageState(); } class _DashboardPageState extends State { late DashboardVM dashboardVM; final GlobalKey _scaffoldKey = GlobalKey(); @override void initState() { super.initState(); dashboardVM = Provider.of(context, listen: false); } @override Widget build(BuildContext context) { List fragments = [ HomeFragment( onTap: () { _scaffoldKey.currentState!.openDrawer(); }, ), const AppointmentFragment(), HomeFragment( onTap: () { _scaffoldKey.currentState!.openDrawer(); }, ), HomeFragment( onTap: () { _scaffoldKey.currentState!.openDrawer(); }, ), RequestListFragment(), ]; return Scaffold( key: _scaffoldKey, drawer: CustomDrawer(dashboardVM: dashboardVM), body: Consumer(builder: (context, model, _) { return fragments[dashboardVM.selectedNavbarBarIndex]; }), bottomNavigationBar: CustomBottomNavbar( onSelected: (i) { dashboardVM.updateIndex(i); }, selectedNavbarBarIndex: dashboardVM.selectedNavbarBarIndex, ), ); } }