Files
2026-08-11 00:11:23 +03:00

93 lines
3.7 KiB
Dart
Executable File

import 'package:flutter/material.dart';
import 'package:flutter_font_icons/flutter_font_icons.dart';
import 'package:get/get.dart';
import '../../../constant/colors.dart';
import '../../../controller/functions/tts.dart';
import '../../../controller/home/captin/contact_us_controller.dart';
import '../../widgets/ui/tripz_ui.dart';
class ContactUsPage extends StatelessWidget {
const ContactUsPage({super.key});
static const String _aboutText =
'Tripz is the safest ride-sharing app that introduces many features for both captains and passengers. We offer the lowest commission rate of just 8%, ensuring you get the best value for your rides. Our app includes insurance for the best captains, regular maintenance of cars with top engineers, and on-road services to ensure a respectful and high-quality experience for all users.';
@override
Widget build(BuildContext context) {
Get.put(ContactUsController());
return GetBuilder<ContactUsController>(builder: (controller) {
return TripzPage(
title: 'Contact Us'.tr,
padding: TripzUi.pageInsets,
body: ListView(
children: [
TripzCard(
padding: const EdgeInsets.fromLTRB(16, 16, 16, 8),
child: Column(
children: [
ClipRRect(
borderRadius: BorderRadius.circular(14),
child: Image.asset(
'assets/images/logo.gif',
height: 150,
fit: BoxFit.contain,
),
),
const SizedBox(height: 12),
Text(
_aboutText.tr,
style: Theme.of(context).textTheme.bodyMedium,
textAlign: TextAlign.center,
),
const SizedBox(height: 4),
// زرّ القراءة الصوتية كان أيقونة عارية بلا تسمية،
// فلا يُفهم غرضه قبل الضغط.
TextButton.icon(
onPressed: () => Get.put(TextToSpeechController())
.speakText(_aboutText.tr),
icon: const Icon(Icons.headphones_rounded, size: 18),
label: Text('Listen'.tr),
),
],
),
),
TripzCard(
child: Row(
children: [
TripzIconBadge(Icons.schedule_rounded,
color: TripzUi.interactive(context)),
const SizedBox(width: 12),
Expanded(
child: Text(
'You can contact us during working hours from 10:00 - 17:00.'
.tr,
style: Theme.of(context).textTheme.bodyMedium,
),
),
],
),
),
TripzSectionTitle('Contact Us'.tr),
TripzCard(
padding: const EdgeInsets.symmetric(vertical: 18),
onTap: () => controller.showContactDialog(context),
child: const Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
TripzIconBadge(Icons.phone_rounded,
color: AppColor.primaryColor, size: 24),
TripzIconBadge(FontAwesome.whatsapp,
color: AppColor.greenColor, size: 24),
TripzIconBadge(Icons.email_rounded,
color: AppColor.redColor, size: 24),
],
),
),
],
),
);
});
}
}