You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
car_customer_app/lib/views/dashboard/dashboard_page.dart

57 lines
1.8 KiB
Dart

import 'package:car_customer_app/view_models/dashboard_view_model.dart';
import 'package:car_customer_app/views/dashboard/fragments/home_fragment.dart';
import 'package:car_customer_app/views/dashboard/widgets/drawer_widget.dart';
import 'package:flutter/material.dart';
import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart';
import 'package:mc_common_app/widgets/common_widgets/bottom_nav_bar.dart';
class DashboardPage extends StatefulWidget {
const DashboardPage({Key? key}) : super(key: key);
@override
State<DashboardPage> createState() => _DashboardPageState();
}
class _DashboardPageState extends State<DashboardPage> {
late DashboardVM dashboardVM;
@override
void initState() {
super.initState();
dashboardVM = Provider.of<DashboardVM>(context, listen: false);
fetchUsername();
}
fetchUsername() async {}
List<Widget> fragments = [
const HomeFragment(),
const HomeFragment(),
const HomeFragment(),
const HomeFragment(),
];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: CustomAppBar(
profileImageUrl: "assets/images/bn_car.jpeg",
isRemoveBackButton: false,
isDrawerEnabled: true,
actions: [MyAssets.notificationsIcon.buildSvg().paddingOnly(right: 21)],
),
drawer: CustomDrawer(dashboardVM: dashboardVM),
bottomNavigationBar: CustomBottomNavbar(
selectedNavbarBarIndex: dashboardVM.selectedNavbarBarIndex,
onSelected: (int index) {
dashboardVM.onNavbarTapped(index);
}),
body: fragments[dashboardVM.selectedNavbarBarIndex],
);
}
}