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 '../../../../constant/colors.dart'; import '../../../../controller/functions/encrypt_decrypt.dart'; import '../../../widgets/my_scafold.dart'; class HelpCaptain extends StatelessWidget { HelpCaptain({super.key}); @override Widget build(BuildContext context) { Get.put(HelpController()); final theme = Theme.of(context); return MyScafolld( title: 'Helping Page'.tr, isleading: true, body: [ SingleChildScrollView( padding: const EdgeInsets.all(20.0), child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ Container( padding: const EdgeInsets.all(18.0), decoration: BoxDecoration( color: theme.colorScheme.surfaceVariant.withOpacity(0.5), borderRadius: BorderRadius.circular(15.0), border: Border.all(color: theme.dividerColor), ), child: Text( 'If you need any help or have questions, this is the right place to do that. You are welcome!' .tr, style: theme.textTheme.bodyLarge, textAlign: TextAlign.center, ), ), const SizedBox(height: 24), Text( 'Submit Your Question'.tr, style: theme.textTheme.titleMedium ?.copyWith(fontWeight: FontWeight.bold), ), const SizedBox(height: 12), GetBuilder( builder: (helpController) => Form( key: helpController.formKey, child: Column( children: [ TextFormField( controller: helpController.helpQuestionController, decoration: InputDecoration( hintText: 'Enter your Question here'.tr, prefixIcon: const Icon(Icons.question_answer_outlined), border: OutlineInputBorder( borderRadius: BorderRadius.circular(12)), ), maxLines: 3, validator: (value) { if (value == null || value.isEmpty) { return 'Please enter your question'.tr; } return null; }, ), const SizedBox(height: 16), helpController.isLoading ? const Center(child: CircularProgressIndicator()) : SizedBox( width: double.infinity, child: ElevatedButton( onPressed: () { if (helpController.formKey.currentState! .validate()) { helpController.addHelpQuestion(); helpController.helpQuestionController .clear(); } }, style: ElevatedButton.styleFrom( backgroundColor: AppColor.primaryColor, foregroundColor: Colors.white, padding: const EdgeInsets.symmetric(vertical: 14), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12)), ), child: Text('Submit Question'.tr), ), ), ], ), ), ), const SizedBox(height: 32), Text( 'Your Questions'.tr, style: theme.textTheme.titleMedium ?.copyWith(fontWeight: FontWeight.bold), ), const SizedBox(height: 12), GetBuilder( builder: (helpController) { final questions = helpController.helpQuestionDate['message']; if (questions == null || questions.isEmpty) { return Center( child: Padding( padding: const EdgeInsets.all(20.0), child: Text('No questions asked yet.'.tr), ), ); } return ListView.separated( shrinkWrap: true, physics: const NeverScrollableScrollPhysics(), itemCount: questions.length, separatorBuilder: (context, index) => const SizedBox(height: 12), itemBuilder: (context, index) { var list = questions[index]; return Card( elevation: 0, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), side: BorderSide(color: theme.dividerColor), ), child: ListTile( title: Text( EncryptionHelper.instance .decryptData(list['helpQuestion']), style: const TextStyle(fontWeight: FontWeight.w500), maxLines: 2, overflow: TextOverflow.ellipsis, ), subtitle: Text( list['datecreated'], style: theme.textTheme.bodySmall, ), trailing: const Icon(Icons.arrow_forward_ios, size: 16), onTap: () { helpController.getIndex( int.parse(EncryptionHelper.instance .decryptData(list['id'])), EncryptionHelper.instance .decryptData(list['helpQuestion'])); helpController.getHelpRepley(list['id'].toString()); Get.to(() => const HelpDetailsReplayPage()); }, ), ); }, ); }, ), ], ), ), ], ); } } // 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, // ), // ], // ), // ), // ), // ); // }, // ), // ), // ), // ), // ), // ], // ), // ), // ), // ); // } // }