|
- import 'package:farm_tpf/presentation/screens/home/home.dart';
- import 'package:farm_tpf/presentation/screens/profile/sc_update_profile.dart';
- import 'package:farm_tpf/presentation/screens/scan_barcode/sc_scan_barcode.dart';
- import 'package:farm_tpf/utils/const_color.dart';
- import 'package:flutter/material.dart';
-
- import 'drawer_user_controller.dart';
- import 'home_drawer.dart';
-
- class NavigationHomeScreen extends StatefulWidget {
- static Route route() {
- return MaterialPageRoute<void>(builder: (_) => NavigationHomeScreen());
- }
-
- @override
- _NavigationHomeScreenState createState() => _NavigationHomeScreenState();
- }
-
- class _NavigationHomeScreenState extends State<NavigationHomeScreen> {
- Widget screenView;
- DrawerIndex drawerIndex;
-
- @override
- void initState() {
- drawerIndex = DrawerIndex.Home;
- screenView = HomePage();
- super.initState();
- }
-
- @override
- Widget build(BuildContext context) {
- return Container(
- color: COLOR_CONST.DEFAULT,
- child: SafeArea(
- top: false,
- bottom: false,
- child: Scaffold(
- backgroundColor: COLOR_CONST.WHITE,
- body: DrawerUserController(
- screenIndex: drawerIndex,
- drawerWidth: MediaQuery.of(context).size.width * 0.75,
- onDrawerCall: (DrawerIndex drawerIndexdata) {
- changeIndex(drawerIndexdata);
- //callback from drawer for replace screen as user need with passing DrawerIndex(Enum index)
- },
- screenView: screenView,
- //we replace screen view as we need on navigate starting screens like MyHomePage, HelpScreen, FeedbackScreen, etc...
- ),
- ),
- ),
- );
- }
-
- void changeIndex(DrawerIndex drawerIndexdata) {
- if (drawerIndex != drawerIndexdata) {
- drawerIndex = drawerIndexdata;
- if (drawerIndex == DrawerIndex.Home) {
- setState(() {
- screenView = HomePage();
- });
- } else if (drawerIndex == DrawerIndex.Setting) {
- setState(() {
- screenView = UpdateProfileScreen();
- });
- } else if (drawerIndex == DrawerIndex.ScanBarcode) {
- Navigator.of(context)
- .push(MaterialPageRoute(builder: (_) => ScanBarcodeScreen()));
- // setState(() {
- // screenView = ScanBarcodeScreen();
- // });
- } else {
- //do in your way......
- }
- }
- }
- }
|