|
- import 'package:farm_tpf/main.dart';
- import 'package:farm_tpf/presentation/screens/control_device/sc_control_device.dart';
- import 'package:farm_tpf/presentation/screens/plot/sc_plot.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 = PlotListScreen();
- 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 = PlotListScreen();
- });
- } else if (drawerIndex == DrawerIndex.ControlDevice) {
- setState(() {
- screenView = ControlDeviceScreen();
- });
- } else if (drawerIndex == DrawerIndex.ScanBarcode) {
- setState(() {
- scan(context);
- });
- } else {
- //do in your way......
- }
- }
- }
- }
|