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<HelpController>(
                    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<HelpController>(
                      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<HelpController>(
                  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.instance
                                      .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.instance
                                          .decryptData(list['id'])),
                                      EncryptionHelper.instance
                                          .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<HelpController>(
//                     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<HelpController>(
//                   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,
//                                     ),
//                                   ],
//                                 ),
//                               ),
//                             ),
//                           );
//                         },
//                       ),
//                     ),
//                   ),
//                 ),
//               ),
//             ],
//           ),
//         ),
//       ),
//     );
//   }
// }
