import 'package:Intaleq/views/home/HomePage/contact_us.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';

class FrequentlyQuestionsPage extends StatelessWidget {
  const FrequentlyQuestionsPage({super.key});

  void _showAnswerDialog(BuildContext context, String question, String answer) {
    showCupertinoDialog(
      context: context,
      builder: (BuildContext context) => CupertinoAlertDialog(
        title: Text(question,
            style: const TextStyle(
                fontWeight: FontWeight.bold, color: Colors.indigo)),
        content: Text(answer),
        actions: <CupertinoDialogAction>[
          CupertinoDialogAction(
            isDefaultAction: true,
            onPressed: () {
              Navigator.of(context).pop();
            },
            child: const Text('Close'),
          ),
        ],
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      navigationBar: CupertinoNavigationBar(
        backgroundColor: Colors.indigo,
        middle: Text(
          'Frequently Asked Questions'.tr,
          style: const TextStyle(color: Colors.white),
        ),
      ),
      child: SafeArea(
        child: ListView(
          children: <Widget>[
            CupertinoListSection.insetGrouped(
              header: Text(
                'Getting Started'.tr,
                style: const TextStyle(fontWeight: FontWeight.bold),
              ),
              children: <CupertinoListTile>[
                CupertinoListTile(
                  leading: const Icon(
                    CupertinoIcons.car_detailed,
                    color: Colors.indigo,
                  ),
                  title: Text('How do I request a ride?'.tr),
                  trailing: const CupertinoListTileChevron(),
                  onTap: () => _showAnswerDialog(
                    context,
                    'How do I request a ride?'.tr,
                    'Simply open the Intaleq app, enter your destination, and tap "Request Ride". The app will connect you with a nearby driver.'
                        .tr,
                  ),
                ),
              ],
            ),
            CupertinoListSection.insetGrouped(
              header: Text(
                'Vehicle Options'.tr,
                style: const TextStyle(fontWeight: FontWeight.bold),
              ),
              children: <CupertinoListTile>[
                CupertinoListTile(
                  leading: const Icon(
                    CupertinoIcons.car_fill,
                    color: Colors.blue,
                  ),
                  title: Text('What types of vehicles are available?'.tr),
                  trailing: const CupertinoListTileChevron(),
                  onTap: () => _showAnswerDialog(
                    context,
                    'What types of vehicles are available?'.tr,
                    'Intaleq offers a variety of options including Economy, Comfort, and Luxury to suit your needs and budget.'
                        .tr,
                  ),
                ),
              ],
            ),
            CupertinoListSection.insetGrouped(
              header: Text(
                'Payments'.tr,
                style: const TextStyle(fontWeight: FontWeight.bold),
              ),
              children: <CupertinoListTile>[
                CupertinoListTile(
                  leading: const Icon(
                    CupertinoIcons.creditcard,
                    color: Colors.green,
                  ),
                  title: Text('How can I pay for my ride?'.tr),
                  trailing: const CupertinoListTileChevron(),
                  onTap: () => _showAnswerDialog(
                    context,
                    'How can I pay for my ride?'.tr,
                    'You can pay for your ride using cash or credit/debit card. You can select your preferred payment method before confirming your ride.'
                        .tr,
                  ),
                ),
              ],
            ),
            CupertinoListSection.insetGrouped(
              header: Text(
                'Ride Management'.tr,
                style: const TextStyle(fontWeight: FontWeight.bold),
              ),
              children: <CupertinoListTile>[
                CupertinoListTile(
                  leading: const Icon(
                    CupertinoIcons.xmark_circle_fill,
                    color: Colors.red,
                  ),
                  title: Text('Can I cancel my ride?'.tr),
                  trailing: const CupertinoListTileChevron(),
                  onTap: () => _showAnswerDialog(
                    context,
                    'Can I cancel my ride?'.tr,
                    'Yes, you can cancel your ride, but please note that cancellation fees may apply depending on how far in advance you cancel.'
                        .tr,
                  ),
                ),
              ],
            ),
            CupertinoListSection.insetGrouped(
              header: Text(
                'For Drivers'.tr,
                style: const TextStyle(fontWeight: FontWeight.bold),
              ),
              children: <CupertinoListTile>[
                CupertinoListTile(
                  leading: const Icon(
                    CupertinoIcons.person_crop_circle_fill,
                    color: Colors.orange,
                  ),
                  title: Text('Driver Registration & Requirements'.tr),
                  trailing: const CupertinoListTileChevron(),
                  onTap: () => showCupertinoDialog(
                    context: context,
                    builder: (BuildContext context) => CupertinoAlertDialog(
                      title: Text('Driver Registration'.tr,
                          style: const TextStyle(
                              fontWeight: FontWeight.bold,
                              color: Colors.indigo)),
                      content: Text(
                          'To register as a driver or learn about the requirements, please visit our website or contact Intaleq support directly.'
                              .tr),
                      actions: <CupertinoDialogAction>[
                        CupertinoDialogAction(
                          isDefaultAction: true,
                          onPressed: () {
                            Get.to(() => ContactUsPage());
                            // Optionally, you can open a URL here
                          },
                          child: Text('Visit Website/Contact Support'.tr),
                        ),
                        CupertinoDialogAction(
                          onPressed: () {
                            Navigator.of(context).pop();
                          },
                          child: Text('Close'.tr),
                        ),
                      ],
                    ),
                  ),
                ),
              ],
            ),
            CupertinoListSection.insetGrouped(
              header: Text(
                'Communication'.tr,
                style: const TextStyle(fontWeight: FontWeight.bold),
              ),
              children: <CupertinoListTile>[
                CupertinoListTile(
                  leading: const Icon(
                    CupertinoIcons.chat_bubble_2_fill,
                    color: Colors.purple,
                  ),
                  title: Text(
                      'How do I communicate with the other party (passenger/driver)?'
                          .tr),
                  trailing: const CupertinoListTileChevron(),
                  onTap: () => _showAnswerDialog(
                    context,
                    'How do I communicate with the other party (passenger/driver)?'
                        .tr,
                    'You can communicate with your driver or passenger through the in-app chat feature once a ride is confirmed.'
                        .tr,
                  ),
                ),
              ],
            ),
            CupertinoListSection.insetGrouped(
              header: Text(
                'Safety & Security'.tr,
                style: const TextStyle(fontWeight: FontWeight.bold),
              ),
              children: <CupertinoListTile>[
                CupertinoListTile(
                  leading: const Icon(
                    CupertinoIcons.shield_fill,
                    color: Colors.teal,
                  ),
                  title: Text('What safety measures does Intaleq offer?'.tr),
                  trailing: const CupertinoListTileChevron(),
                  onTap: () => _showAnswerDialog(
                    context,
                    'What safety measures does Intaleq offer?'.tr,
                    'Intaleq offers various safety features including driver verification, in-app trip tracking, emergency contact options, and the ability to share your trip status with trusted contacts.'
                        .tr,
                  ),
                ),
              ],
            ),
            const SizedBox(height: 20), // Add some bottom padding
          ],
        ),
      ),
    );
  }
}
