// // ignore_for_file: unused_result // import 'package:flutter/material.dart'; // import 'package:flutter_easyloading/flutter_easyloading.dart'; // import 'package:flutter_riverpod/flutter_riverpod.dart'; // import 'package:mobile_pos/Screens/User%20Roles/Model/user_role_model.dart' as user; // import 'package:mobile_pos/Screens/User%20Roles/Repo/user_role_repo.dart'; // import 'package:mobile_pos/constant.dart'; // import 'package:mobile_pos/generated/l10n.dart' as lang; // import 'package:nb_utils/nb_utils.dart'; // // import '../../GlobalComponents/glonal_popup.dart'; // import 'Model/user_role_model.dart'; // // class UserRoleDetails extends StatefulWidget { // const UserRoleDetails({Key? key, required this.userRoleModel}) : super(key: key); // // final UserRoleModel userRoleModel; // // @override // // ignore: library_private_types_in_public_api // _UserRoleDetailsState createState() => _UserRoleDetailsState(); // } // // class _UserRoleDetailsState extends State { // GlobalKey globalKey = GlobalKey(); // // bool validateAndSave() { // final form = globalKey.currentState; // if (form!.validate()) { // form.save(); // return true; // } // return false; // } // // TextEditingController passwordController = TextEditingController(); // // bool allPermissions = false; // bool salePermission = false; // bool partiesPermission = false; // bool purchasePermission = false; // bool productPermission = false; // bool profileEditPermission = false; // bool addExpensePermission = false; // bool addIncomePermission = false; // bool dashBoardPermission = false; // bool lossProfitPermission = false; // bool dueListPermission = false; // bool stockPermission = false; // bool reportsPermission = false; // bool salesListPermission = false; // bool purchaseListPermission = false; // // // TextEditingController phoneController = TextEditingController(); // TextEditingController emailController = TextEditingController(); // TextEditingController titleController = TextEditingController(); // bool isMailSent = false; // // @override // void dispose() { // // TODO: implement dispose // super.dispose(); // // phoneController.dispose(); // emailController.dispose(); // titleController.dispose(); // passwordController.dispose(); // } // // @override // void initState() { // // TODO: implement initState // super.initState(); // salePermission = widget.userRoleModel.visibility?.salePermission ?? false; // partiesPermission = widget.userRoleModel.visibility?.partiesPermission ?? false; // purchasePermission = widget.userRoleModel.visibility?.purchasePermission ?? false; // productPermission = widget.userRoleModel.visibility?.productPermission ?? false; // // profileEditPermission = widget.userRoleModel.visibility?.profileEditPermission ?? false; // addExpensePermission = widget.userRoleModel.visibility?.addExpensePermission ?? false; // lossProfitPermission = widget.userRoleModel.visibility?.lossProfitPermission ?? false; // dueListPermission = widget.userRoleModel.visibility?.dueListPermission ?? false; // stockPermission = widget.userRoleModel.visibility?.stockPermission ?? false; // reportsPermission = widget.userRoleModel.visibility?.reportsPermission ?? false; // salesListPermission = widget.userRoleModel.visibility?.salesListPermission ?? false; // purchaseListPermission = widget.userRoleModel.visibility?.purchaseListPermission ?? false; // dashBoardPermission = widget.userRoleModel.visibility?.dashboardPermission ?? false; // addIncomePermission = widget.userRoleModel.visibility?.addIncomePermission ?? false; // emailController.text = widget.userRoleModel.email ?? ''; // // phoneController.text = widget.userRoleModel.phone ?? ''; // titleController.text = widget.userRoleModel.name ?? ''; // } // // List adminRoleList = []; // List userRoleList = []; // // @override // Widget build(BuildContext context) { // final theme = Theme.of(context); // return Consumer(builder: (context, ref, __) { // return GlobalPopup( // child: Scaffold( // backgroundColor: Colors.white, // appBar: AppBar( // backgroundColor: Colors.white, // title: Text( // lang.S.of(context).userRoleDetails, // // 'User Role Details', // // style: GoogleFonts.poppins( // // color: Colors.black, // // ), // ), // actions: [ // IconButton( // onPressed: () async { // showDialog( // context: context, // barrierDismissible: false, // builder: (BuildContext context1) { // return Padding( // padding: const EdgeInsets.all(30.0), // child: Center( // child: Container( // width: double.infinity, // decoration: const BoxDecoration( // color: Colors.white, // borderRadius: BorderRadius.all(Radius.circular(30)), // ), // child: Padding( // padding: const EdgeInsets.all(20.0), // child: Column( // mainAxisSize: MainAxisSize.min, // children: [ // Text(lang.S.of(context).doYouWantToDeleteTheUser, // //'Do you want to delete the user?', // style: const TextStyle(fontSize: 20)), // const SizedBox(height: 20), // Row( // children: [ // Expanded( // child: ElevatedButton( // //buttontext: 'Cancel', // onPressed: (() { // Navigator.pop(context1); // }), // //buttontext: 'Cancel', // child: Text(lang.S.of(context).cancel), // ), // ), // Expanded( // child: ElevatedButton( // //buttontext: 'Delete', // onPressed: (() async { // EasyLoading.show( // status: lang.S.of(context).loading, // //'loading..' // ); // UserRoleRepo repo = UserRoleRepo(); // await repo.deleteUser(id: widget.userRoleModel.id.toString(), context: context, ref: ref); // }), // //buttontext: 'Delete', // child: Text(lang.S.of(context).delete)), // ), // ], // ), // ], // ), // ), // ), // ), // ); // }, // ); // }, // icon: const Icon( // Icons.delete, // color: Colors.red, // )) // ], // centerTitle: true, // iconTheme: const IconThemeData(color: Colors.black), // elevation: 0.0, // ), // body: SingleChildScrollView( // child: Padding( // padding: const EdgeInsets.all(10.0), // child: Column( // children: [ // Padding( // padding: const EdgeInsets.all(10.0), // child: Container( // decoration: BoxDecoration( // border: Border.all(width: 0.5, color: kGreyTextColor), // borderRadius: const BorderRadius.all(Radius.circular(10)), // ), // child: Column( // children: [ // ///_______all_&_sale____________________________________________ // Row( // children: [ // ///_______all__________________________ // SizedBox( // width: context.width() / 2 - 20, // child: CheckboxListTile( // value: allPermissions, // onChanged: (value) { // if (value == true) { // setState(() { // allPermissions = value!; // salePermission = true; // partiesPermission = true; // purchasePermission = true; // productPermission = true; // profileEditPermission = true; // addExpensePermission = true; // lossProfitPermission = true; // dueListPermission = true; // stockPermission = true; // reportsPermission = true; // salesListPermission = true; // purchaseListPermission = true; // addIncomePermission = true; // dashBoardPermission = true; // }); // } else { // setState(() { // allPermissions = value!; // salePermission = false; // partiesPermission = false; // purchasePermission = false; // productPermission = false; // profileEditPermission = false; // addExpensePermission = false; // lossProfitPermission = false; // dueListPermission = false; // stockPermission = false; // reportsPermission = false; // salesListPermission = false; // purchaseListPermission = false; // addIncomePermission = false; // dashBoardPermission = false; // }); // } // }, // title: Text( // lang.S.of(context).all, // //'All', // style: TextStyle(fontSize: 14), // ), // ), // ), // ], // ), // // ///_______Edit Profile_&_sale____________________________________________ // Row( // children: [ // ///_______Edit_Profile_________________________ // Expanded( // child: CheckboxListTile( // value: profileEditPermission, // onChanged: (value) { // setState(() { // profileEditPermission = value!; // }); // }, // title: Text( // lang.S.of(context).profileEdit, // //'Profile Edit', // style: const TextStyle(fontSize: 14), // ), // ), // ), // // ///______sales____________________________ // Expanded( // child: CheckboxListTile( // value: salePermission, // onChanged: (value) { // setState(() { // salePermission = value!; // }); // }, // title: Text( // lang.S.of(context).sales, // //'Sales', // style: const TextStyle(fontSize: 14), // ), // ), // ), // ], // ), // // ///_____parties_&_Purchase_________________________________________ // Row( // children: [ // Expanded( // child: CheckboxListTile( // value: partiesPermission, // onChanged: (value) { // setState(() { // partiesPermission = value!; // }); // }, // title: Text( // lang.S.of(context).parties, // //'Parties', // style: const TextStyle(fontSize: 14), // ), // ), // ), // Expanded( // child: CheckboxListTile( // value: purchasePermission, // onChanged: (value) { // setState(() { // purchasePermission = value!; // }); // }, // title: Text( // lang.S.of(context).purchase, // // 'Purchase', // style: const TextStyle(fontSize: 14), // ), // ), // ), // ], // ), // // ///_____Product_&_DueList_________________________________________ // Row( // children: [ // Expanded( // child: CheckboxListTile( // value: productPermission, // onChanged: (value) { // setState(() { // productPermission = value!; // }); // }, // title: Text( // lang.S.of(context).products, // // 'Products', // style: const TextStyle(fontSize: 14), // ), // ), // ), // Expanded( // child: CheckboxListTile( // value: dueListPermission, // onChanged: (value) { // setState(() { // dueListPermission = value!; // }); // }, // title: Text( // lang.S.of(context).dueList, // //'Due List', // style: const TextStyle(fontSize: 14), // ), // ), // ), // ], // ), // // ///_____Stock_&_Reports_________________________________________ // Row( // children: [ // Expanded( // child: CheckboxListTile( // value: stockPermission, // onChanged: (value) { // setState(() { // stockPermission = value!; // }); // }, // title: Text( // lang.S.of(context).stock, // //'Stock', // style: const TextStyle(fontSize: 14), // ), // ), // ), // Expanded( // child: CheckboxListTile( // value: reportsPermission, // onChanged: (value) { // setState(() { // reportsPermission = value!; // }); // }, // title: Text( // lang.S.of(context).reports, // //'Reports', // style: const TextStyle(fontSize: 14), // ), // ), // ), // ], // ), // // ///_____SalesList_&_Purchase List_________________________________________ // Row( // children: [ // Expanded( // child: CheckboxListTile( // value: salesListPermission, // onChanged: (value) { // setState(() { // salesListPermission = value!; // }); // }, // title: Text( // lang.S.of(context).salesList, // //'Sales List', // style: const TextStyle(fontSize: 14), // maxLines: 1, // overflow: TextOverflow.ellipsis, // ), // ), // ), // Expanded( // child: CheckboxListTile( // value: purchaseListPermission, // onChanged: (value) { // setState(() { // purchaseListPermission = value!; // }); // }, // title: Text( // lang.S.of(context).purchaseList, // // 'Purchase List', // style: const TextStyle(fontSize: 14), // maxLines: 1, // overflow: TextOverflow.ellipsis, // ), // ), // ), // ], // ), // // ///_____LossProfit_&_Expense_________________________________________ // Row( // children: [ // Expanded( // child: CheckboxListTile( // value: lossProfitPermission, // onChanged: (value) { // setState(() { // lossProfitPermission = value!; // }); // }, // title: Text( // lang.S.of(context).lossProfit, // //'Loss Profit', // style: const TextStyle(fontSize: 14), // ), // ), // ), // Expanded( // child: CheckboxListTile( // value: addExpensePermission, // onChanged: (value) { // setState(() { // addExpensePermission = value!; // }); // }, // title: Text( // lang.S.of(context).expense, // //'Expense', // style: const TextStyle(fontSize: 14), // ), // ), // ), // ], // ), // // ///_____LossProfit_&_Expense_________________________________________ // Row( // children: [ // Expanded( // child: CheckboxListTile( // value: dashBoardPermission, // onChanged: (value) { // setState(() { // dashBoardPermission = value!; // }); // }, // title: Text( // lang.S.of(context).dashboard, // //'Loss Profit', // style: const TextStyle(fontSize: 14), // ), // ), // ), // Expanded( // child: CheckboxListTile( // value: addIncomePermission, // onChanged: (value) { // setState(() { // addIncomePermission = value!; // }); // }, // title: Text( // lang.S.of(context).income, // //'Expense', // style: const TextStyle(fontSize: 14), // ), // ), // ), // ], // ), // ], // ), // ), // ), // // ///___________Text_fields_____________________________________________ // Padding( // padding: const EdgeInsets.all(10.0), // child: Form( // key: globalKey, // child: Column( // crossAxisAlignment: CrossAxisAlignment.end, // children: [ // ///__________email_________________________________________________________ // AppTextField( // // readOnly: true, // controller: emailController, // // initialValue: widget.userRoleModel.email, // // cursorColor: kTitleColor, // validator: (value) { // if (value == null || value.isEmpty) { // //return 'Email can\'n be empty'; // return lang.S.of(context).emailCannotBeEmpty; // } else if (!value.contains('@')) { // //return 'Please enter a valid email'; // return lang.S.of(context).pleaseEnterAValidEmail; // } // return null; // }, // decoration: kInputDecoration.copyWith( // //labelText: 'Email', // labelText: lang.S.of(context).email, // // labelStyle: kTextStyle.copyWith(color: kTitleColor), // //hintText: 'Enter your email address', // hintText: lang.S.of(context).enterYourEmailAddress, // // hintStyle: kTextStyle.copyWith(color: kLitGreyColor), // contentPadding: const EdgeInsets.all(10.0), // enabledBorder: const OutlineInputBorder( // borderRadius: BorderRadius.all( // Radius.circular(4.0), // ), // borderSide: BorderSide(color: kBorderColorTextField, width: 1), // ), // errorBorder: const OutlineInputBorder(borderSide: BorderSide(color: Colors.red)), // focusedBorder: const OutlineInputBorder( // borderRadius: BorderRadius.all(Radius.circular(4.0)), // borderSide: BorderSide(color: kBorderColorTextField, width: 2), // ), // ), // textFieldType: TextFieldType.EMAIL, // ), // const SizedBox(height: 20.0), // // ///__________Title_________________________________________________________ // TextFormField( // validator: (value) { // if (value == null || value.isEmpty) { // //return 'User title can\'n be empty'; // return lang.S.of(context).useTitleCanNotBeEmpty; // } // return null; // }, // showCursor: true, // controller: titleController, // decoration: kInputDecoration.copyWith( // //labelText: 'User Title', // labelText: lang.S.of(context).userTitle, // // hintText: 'Enter User Title', // hintText: lang.S.of(context).enterUserTitle, // contentPadding: const EdgeInsets.all(10.0), // errorBorder: const OutlineInputBorder(borderSide: BorderSide(color: Colors.red)), // enabledBorder: const OutlineInputBorder( // borderRadius: BorderRadius.all( // Radius.circular(4.0), // ), // borderSide: BorderSide(color: kBorderColorTextField, width: 1), // ), // focusedBorder: const OutlineInputBorder( // borderRadius: BorderRadius.all(Radius.circular(4.0)), // borderSide: BorderSide(color: kBorderColorTextField, width: 2), // ), // ), // ), // const SizedBox(height: 20.0), // // ///_____________Update_Password__________________________________ // AppTextField( // validator: (value) { // return null; // }, // controller: passwordController, // showCursor: true, // decoration: kInputDecoration.copyWith( // labelText: 'Update Password', // floatingLabelAlignment: FloatingLabelAlignment.start, // hintText: 'Update your password', // contentPadding: const EdgeInsets.all(10.0), // enabledBorder: const OutlineInputBorder( // borderRadius: BorderRadius.all( // Radius.circular(4.0), // ), // borderSide: BorderSide(color: kBorderColorTextField, width: 1), // ), // errorBorder: const OutlineInputBorder(borderSide: BorderSide(color: Colors.red)), // focusedBorder: const OutlineInputBorder( // borderRadius: BorderRadius.all(Radius.circular(4.0)), // borderSide: BorderSide(color: kBorderColorTextField, width: 2), // ), // ), // textFieldType: TextFieldType.PASSWORD, // ), // ], // ), // ), // ), // ], // ), // ), // ), // bottomNavigationBar: Padding( // padding: const EdgeInsets.all(10.0), // child: ElevatedButton( // onPressed: (() async { // if (salePermission || // partiesPermission || // purchasePermission || // productPermission || // profileEditPermission || // addExpensePermission || // lossProfitPermission || // dueListPermission || // stockPermission || // reportsPermission || // salesListPermission || // addIncomePermission || // dashBoardPermission || // purchaseListPermission) { // if (validateAndSave()) { // EasyLoading.show( // status: lang.S.of(context).loading, // //'loading..' // ); // user.Permission permission = user.Permission( // salePermission: salePermission, // partiesPermission: partiesPermission, // purchasePermission: purchasePermission, // productPermission: productPermission, // profileEditPermission: profileEditPermission, // addExpensePermission: addExpensePermission, // lossProfitPermission: lossProfitPermission, // dueListPermission: dueListPermission, // stockPermission: stockPermission, // reportsPermission: reportsPermission, // salesListPermission: salesListPermission, // purchaseListPermission: purchaseListPermission, // dashboardPermission: dashBoardPermission, // addIncomePermission: addIncomePermission, // ); // UserRoleRepo repo = UserRoleRepo(); // await repo.updateUser( // userId: widget.userRoleModel.id.toString(), // ref: ref, // context: context, // userName: titleController.text, // email: emailController.text, // password: passwordController.text, // permission: permission, // ); // } // } else { // EasyLoading.showError(lang.S.of(context).youHaveToGivePermission // //'You Have To Give Permission' // ); // } // }), // child: Text(lang.S.of(context).update)), // ), // ), // ); // }); // } // }