import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:sefer_driver/controller/home/captin/help/help_controller.dart'; import 'package:sefer_driver/views/home/Captin/home_captain/help_details_replay_page.dart'; import 'package:flutter/cupertino.dart'; import '../../../../controller/functions/encrypt_decrypt.dart'; class HelpCaptain extends StatelessWidget { HelpCaptain({super.key}); @override Widget build(BuildContext context) { Get.put(HelpController()); return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( middle: Text( 'Helping Page'.tr, style: const TextStyle(fontWeight: FontWeight.bold), ), leading: CupertinoButton( padding: EdgeInsets.zero, onPressed: () => Navigator.pop(context), child: const Icon(CupertinoIcons.back), ), ), child: SafeArea( child: Padding( padding: const EdgeInsets.all( 20.0), // Increased padding around the content child: ListView( // crossAxisAlignment: // CrossAxisAlignment.stretch, // Stretch children to full width children: [ Container( padding: const EdgeInsets.all(18.0), // Slightly increased padding decoration: BoxDecoration( color: CupertinoTheme.of(context).brightness == Brightness.light ? CupertinoColors.systemGrey6 : CupertinoColors.darkBackgroundGray, borderRadius: BorderRadius.circular(15.0), // More rounded corners ), child: Text( 'If you need any help or have questions, this is the right place to do that. You are welcome!' .tr, style: CupertinoTheme.of(context).textTheme.textStyle.copyWith( fontSize: 16, // Slightly larger font size color: CupertinoColors.label.resolveFrom( context), // Ensure text color adapts to theme ), textAlign: TextAlign.center, ), ), const SizedBox(height: 20), CupertinoFormSection.insetGrouped( // Using CupertinoFormSection for better styling header: Text('Submit Your Question'.tr), margin: EdgeInsets.zero, children: [ GetBuilder( builder: (helpController) => Form( key: helpController.formKey, child: CupertinoTextFormFieldRow( controller: helpController.helpQuestionController, placeholder: 'Enter your Question here'.tr, autovalidateMode: AutovalidateMode.onUserInteraction, validator: (value) { if (value == null || value.isEmpty) { return 'Please enter your question'.tr; } return null; }, prefix: const Icon(CupertinoIcons .question_circle), // Added a prefix icon ), ), ), Padding( padding: const EdgeInsets.symmetric( horizontal: 16.0, vertical: 10.0), child: GetBuilder( builder: (helpController) => helpController.isLoading ? const CupertinoActivityIndicator() : CupertinoButton.filled( onPressed: () { if (helpController.formKey.currentState! .validate()) { helpController.addHelpQuestion(); helpController.helpQuestionController .clear(); // Clear the text field } }, child: Text('Submit Question'.tr), ), ), ), ], ), const SizedBox(height: 20), Text( 'Your Questions'.tr, style: CupertinoTheme.of(context) .textTheme .navTitleTextStyle .copyWith( fontWeight: FontWeight.bold, ), ), const SizedBox(height: 10), Expanded( child: GetBuilder( builder: (helpController) => CupertinoListSection.insetGrouped( margin: EdgeInsets.zero, children: helpController.helpQuestionDate['message'] != null ? List.generate( helpController.helpQuestionDate['message'].length, (index) { var list = helpController .helpQuestionDate['message'][index]; return CupertinoListTile( title: Text( encryptionHelper .decryptData(list['helpQuestion']), overflow: TextOverflow.ellipsis, ), trailing: Row( mainAxisSize: MainAxisSize.min, children: [ Text( list['datecreated'], style: CupertinoTheme.of(context) .textTheme .tabLabelTextStyle, ), const Icon(CupertinoIcons.chevron_forward), ], ), onTap: () { helpController.getIndex( int.parse(encryptionHelper .decryptData(list['id'])), encryptionHelper .decryptData(list['helpQuestion'])); helpController .getHelpRepley(list['id'].toString()); Get.to(() => const HelpDetailsReplayPage()); }, ); }, ) : [ Center( child: Text('No questions asked yet.'.tr), ), ], ), ), ), ], ), ), ), ); } } // class HelpCaptain extends StatelessWidget { // HelpCaptain({super.key}); // @override // Widget build(BuildContext context) { // Get.put(HelpController()); // return CupertinoPageScaffold( // navigationBar: CupertinoNavigationBar( // middle: Text('Helping Page'.tr), // leading: CupertinoButton( // padding: EdgeInsets.zero, // child: Icon(CupertinoIcons.back), // onPressed: () => Navigator.pop(context), // ), // ), // child: SafeArea( // child: Padding( // padding: const EdgeInsets.all(16.0), // child: Column( // children: [ // Padding( // padding: const EdgeInsets.symmetric(vertical: 12.0), // child: Container( // padding: const EdgeInsets.all(16.0), // decoration: BoxDecoration( // borderRadius: BorderRadius.circular(12.0), // border: Border.all( // color: CupertinoColors.systemGrey2, // ), // ), // child: Text( // 'If you need any help or have questions, this is the right place to do that. You are welcome!' // .tr, // style: CupertinoTheme.of(context).textTheme.textStyle, // textAlign: TextAlign.center, // ), // ), // ), // Card( // elevation: 3, // color: CupertinoColors.systemGrey6, // shape: RoundedRectangleBorder( // borderRadius: BorderRadius.circular(12.0), // ), // child: Padding( // padding: const EdgeInsets.all(16.0), // child: GetBuilder( // builder: (helpController) => Form( // key: helpController.formKey, // child: Column( // children: [ // CupertinoTextField( // controller: helpController.helpQuestionController, // placeholder: 'Enter your Question here'.tr, // decoration: BoxDecoration( // borderRadius: BorderRadius.circular(12), // border: Border.all( // color: CupertinoColors.systemGrey, // ), // ), // padding: const EdgeInsets.all(16), // clearButtonMode: OverlayVisibilityMode.editing, // ), // const SizedBox(height: 20), // helpController.isLoading // ? const CupertinoActivityIndicator() // : CupertinoButton.filled( // onPressed: () { // if (helpController.formKey.currentState! // .validate()) { // helpController.addHelpQuestion(); // // Clear the feedback form // helpController.formKey.currentState! // .reset(); // } // }, // child: Text('Submit Question'.tr), // ), // ], // ), // ), // ), // ), // ), // const SizedBox(height: 20), // Expanded( // child: GetBuilder( // builder: (helpController) => Padding( // padding: const EdgeInsets.all(10), // child: Container( // decoration: BoxDecoration( // border: Border.all( // color: CupertinoColors.systemGrey2, // ), // borderRadius: BorderRadius.circular(12.0), // ), // child: ListView.builder( // itemCount: helpController.helpQuestionDate['message'] != // null // ? helpController.helpQuestionDate['message'].length // : 0, // itemBuilder: (BuildContext context, int index) { // var list = // helpController.helpQuestionDate['message'][index]; // return Padding( // padding: const EdgeInsets.all(3), // child: Container( // padding: const EdgeInsets.symmetric( // vertical: 12, horizontal: 16), // decoration: BoxDecoration( // border: Border.all( // color: CupertinoColors.activeGreen, // width: 2, // ), // borderRadius: BorderRadius.circular(12), // ), // child: GestureDetector( // onTap: () { // helpController.getIndex( // list['id'], list['helpQuestion']); // helpController // .getHelpRepley(list['id'].toString()); // Get.to(() => const HelpDetailsReplayPage()); // }, // child: Row( // mainAxisAlignment: // MainAxisAlignment.spaceBetween, // children: [ // Expanded( // child: Text( // list['helpQuestion'], // style: CupertinoTheme.of(context) // .textTheme // .textStyle, // overflow: TextOverflow.ellipsis, // ), // ), // Text( // list['datecreated'], // style: CupertinoTheme.of(context) // .textTheme // .tabLabelTextStyle, // ), // ], // ), // ), // ), // ); // }, // ), // ), // ), // ), // ), // ], // ), // ), // ), // ); // } // }