// import 'package:cheminova/controller/home_controller.dart'; // import 'package:cheminova/screens/authentication/change_password_screen.dart'; // import 'package:cheminova/screens/authentication/login_screen.dart'; // import 'package:cheminova/screens/home_screen.dart'; // import 'package:flutter/material.dart'; // import 'package:get/get.dart'; // // import '../screens/authentication/Profile.dart'; // // class MyDrawer extends StatefulWidget { // const MyDrawer({super.key}); // // @override // State createState() => _MyDrawerState(); // } // // class _MyDrawerState extends State { // final HomeController _homeController = Get.find(); // // @override // Widget build(BuildContext context) { // return Drawer( // child: ListView( // padding: EdgeInsets.zero, // children: [ // SizedBox( // height: 150, // child: Obx(() { // if (_homeController.isLoading.value) { // return const Center(child: CircularProgressIndicator()); // } else if (_homeController.error.value.isNotEmpty) { // return Center(child: Text(_homeController.error.value)); // } else { // final user = _homeController.userProfile.value; // return user == null ?const SizedBox(): DrawerHeader( // decoration: const BoxDecoration( // color: Colors.black87, // ), // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // mainAxisAlignment: MainAxisAlignment.start, // children: [ // Text( // user!.myData!.name ?? "username", // style: const TextStyle( // color: Colors.white, // fontSize: 18, // ), // ), // Text( // user!.myData!.uniqueId ?? 'Employee ID', // style: const TextStyle( // color: Colors.white, // fontSize: 20, // ), // ), // ], // ), // ); // } // }), // ), // ListTile( // leading: const Icon(Icons.home), // title: const Text('Home'), // onTap: () => Get.offAll(() => const HomeScreen()), // ), // ListTile( // leading: const Icon(Icons.account_circle), // title: const Text('Profile'), // onTap: () => Get.to(() => const ProfileScreen()), // ), // ListTile( // leading: const Icon(Icons.settings), // title: const Text('Change Password'), // onTap: () { // Get.to(const ChangePasswordScreen()); // }, // ), // ListTile( // leading: const Icon(Icons.exit_to_app), // title: const Text('Logout'), // onTap: () => Get.offAll(() => const LoginScreen()), // ), // SizedBox( // height: 700, // child: Padding( // padding: const EdgeInsets.all(8.0), // child: Center( // child: Text( // 'App Version 2.0.0', // style: TextStyle(color: Colors.grey[600], fontSize: 12), // ), // ), // ), // ), // ], // ), // ); // } // } import 'package:cheminova/controller/home_controller.dart'; import 'package:cheminova/screens/authentication/change_password_screen.dart'; import 'package:cheminova/screens/authentication/login_screen.dart'; import 'package:cheminova/screens/home_screen.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:package_info_plus/package_info_plus.dart'; import '../screens/authentication/Profile.dart'; class MyDrawer extends StatefulWidget { const MyDrawer({super.key}); @override State createState() => _MyDrawerState(); } class _MyDrawerState extends State { final HomeController _homeController = Get.find(); String _appVersion = ''; @override void initState() { super.initState(); _getAppVersion(); } Future _getAppVersion() async { PackageInfo packageInfo = await PackageInfo.fromPlatform( ); setState(() { _appVersion = packageInfo.version; // 1.0.0 }); } @override Widget build(BuildContext context) { return Drawer( child: Column( children: [ SizedBox( height: 150, width: double.infinity, child: Obx(() { if (_homeController.isLoading.value) { return const Center(child: CircularProgressIndicator()); } else if (_homeController.error.value.isNotEmpty) { return Center(child: Text(_homeController.error.value)); } else { final user = _homeController.userProfile.value; return user == null ? const SizedBox() : DrawerHeader( decoration: const BoxDecoration( color: Colors.black87, ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ Text( user.myData!.name ?? "username", style: const TextStyle( color: Colors.white, fontSize: 18, ), ), Text( user.myData!.uniqueId ?? 'Employee ID', style: const TextStyle( color: Colors.white, fontSize: 20, ), ), ], ), ); } }), ), ListTile( leading: const Icon(Icons.home), title: const Text('Home'), onTap: () => Get.offAll(() => const HomeScreen()), ), ListTile( leading: const Icon(Icons.account_circle), title: const Text('Profile'), onTap: () => Get.to(() => const ProfileScreen()), ), ListTile( leading: const Icon(Icons.settings), title: const Text('Change Password'), onTap: () { Get.to(const ChangePasswordScreen()); }, ), ListTile( leading: const Icon(Icons.exit_to_app), title: const Text('Logout'), onTap: () => Get.offAll(() => const LoginScreen()), ), const Spacer(), Padding( padding: const EdgeInsets.all(8.0), child: Center( child: Text( 'Version: $_appVersion', style: TextStyle(color: Colors.grey[600], fontSize: 12), ), ), ), ], ), ); } }