229 lines
9.0 KiB
Dart
229 lines
9.0 KiB
Dart
import 'package:Tripz/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 Tripz 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,
|
|
'Tripz 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 Tripz 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 Tripz offer?'.tr),
|
|
trailing: const CupertinoListTileChevron(),
|
|
onTap: () => _showAnswerDialog(
|
|
context,
|
|
'What safety measures does Tripz offer?'.tr,
|
|
'Tripz 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
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|