import 'dart:async'; import 'package:car_provider_app/view_models/dashboard_view_model.dart'; import 'package:car_provider_app/views/settings/branch/branch_list_page.dart'; import 'package:flutter/material.dart'; import 'package:mc_common_app/widgets/common_widgets/bottom_nav_bar.dart'; import 'package:provider/provider.dart'; import 'fragments/branch_appointment_fragment.dart'; import 'fragments/home_fragment.dart'; import 'package:mc_common_app/views/common_fragments/ads_fragment.dart'; import 'package:mc_common_app/views/common_fragments/my_requests_fragment.dart'; class DashboardView extends StatefulWidget { const DashboardView({Key? key}) : super(key: key); @override State createState() => _DashboardViewState(); } class _DashboardViewState extends State { late DashboardVM dashboardVM; final GlobalKey _scaffoldKey = GlobalKey(); @override void initState() { super.initState(); dashboardVM = Provider.of(context, listen: false); scheduleMicrotask(() => dashboardVM.onRefresh(context)); } @override Widget build(BuildContext context) { List fragments = [ const BranchListPage(), const BranchAppointmentFragment(), const HomeFragment(), const AdsFragment(), const MyRequestsFragment(), ]; return PopScope( canPop: false, child: Scaffold( key: _scaffoldKey, body: fragments[context.watch().selectedNavbarBarIndex], bottomNavigationBar: CustomBottomNavbar( onSelected: (index) { dashboardVM.onNavbarTapped(index); }, isProvider: true, selectedNavbarBarIndex: dashboardVM.selectedNavbarBarIndex, ), ), ); } }