import 'dart:async'; import 'package:car_customer_app/views/dashboard/fragments/appointments_fragment.dart'; import 'package:car_customer_app/views/dashboard/fragments/home_fragment.dart'; import 'package:car_customer_app/views/dashboard/widgets/bottom_nav_bar.dart'; import 'package:flutter/material.dart'; import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/view_models/dashboard_view_model_customer.dart'; import 'package:mc_common_app/views/common_fragments/ads_fragment.dart'; import 'package:mc_common_app/views/common_fragments/requests_fragment.dart'; import 'package:provider/provider.dart'; import 'fragments/branches_fragment.dart'; class DashboardView extends StatefulWidget { final DashboardRouteEnum dashboardRouteEnum; const DashboardView({Key? key, required this.dashboardRouteEnum}) : super(key: key); @override State createState() => _DashboardViewState(); } class _DashboardViewState extends State { late DashboardVmCustomer dashboardVM; final GlobalKey _scaffoldKey = GlobalKey(); @override void initState() { super.initState(); dashboardVM = Provider.of(context, listen: false); scheduleMicrotask(() => dashboardVM.onRefresh(context, dashboardRouteEnum: widget.dashboardRouteEnum)); } @override Widget build(BuildContext context) { List fragments = [ const BranchesFragment(), const AppointmentsFragment(), const HomeFragment(), const AdsFragment(), const MyRequestsFragment(), ]; return PopScope( canPop: false, child: Scaffold( key: _scaffoldKey, bottomNavigationBar: CustomBottomNavbar(), body: fragments[context.watch().selectedNavbarBarIndex], ), ); } }