Update codebase

This commit is contained in:
Hamza-Ayed
2026-08-11 00:11:23 +03:00
parent 6726fcd917
commit 0ff7d04f9a
345 changed files with 3756 additions and 3369 deletions
@@ -1,7 +1,7 @@
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/main.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/main.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -26,7 +26,7 @@ class AboutPage extends StatelessWidget {
Padding(
padding: const EdgeInsets.all(16.0),
child: Text(
'Siro LLC\n${(box.read(BoxName.countryCode)?.toString() ?? 'Syria').tr}',
'Tripz LLC\n${(box.read(BoxName.countryCode)?.toString() ?? 'Syria').tr}',
style: AppStyle.headTitle2,
textAlign: TextAlign.center,
),
@@ -34,7 +34,7 @@ class AboutPage extends StatelessWidget {
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: Text(
'Siro is a ride-sharing app designed with your safety and affordability in mind. We connect you with reliable drivers in your area, ensuring a convenient and stress-free travel experience.\n\nHere are some of the key features that set us apart:'
'Tripz is a ride-sharing app designed with your safety and affordability in mind. We connect you with reliable drivers in your area, ensuring a convenient and stress-free travel experience.\n\nHere are some of the key features that set us apart:'
.tr,
style: AppStyle.title,
textAlign: TextAlign.center,
@@ -1,5 +1,5 @@
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -28,7 +28,7 @@ class FrequentlyQuestionsPage extends StatelessWidget {
),
children: [
Text(
'Step-by-step instructions on how to request a ride through the Siro app.'
'Step-by-step instructions on how to request a ride through the Tripz app.'
.tr,
style: AppStyle.title,
),
@@ -43,7 +43,7 @@ class FrequentlyQuestionsPage extends StatelessWidget {
),
children: [
Text(
'Siro offers a variety of vehicle options to suit your needs, including economy, comfort, and luxury. Choose the option that best fits your budget and passenger count.'
'Tripz offers a variety of vehicle options to suit your needs, including economy, comfort, and luxury. Choose the option that best fits your budget and passenger count.'
.tr,
style: AppStyle.title,
),
@@ -58,7 +58,7 @@ class FrequentlyQuestionsPage extends StatelessWidget {
),
children: [
Text(
'Siro offers multiple payment methods for your convenience. Choose between cash payment or credit/debit card payment during ride confirmation.'
'Tripz offers multiple payment methods for your convenience. Choose between cash payment or credit/debit card payment during ride confirmation.'
.tr,
style: AppStyle.title,
),
@@ -73,7 +73,7 @@ class FrequentlyQuestionsPage extends StatelessWidget {
),
children: [
Text(
'Yes, you can cancel your ride under certain conditions (e.g., before driver is assigned). See the Siro cancellation policy for details.'
'Yes, you can cancel your ride under certain conditions (e.g., before driver is assigned). See the Tripz cancellation policy for details.'
.tr,
style: AppStyle.title,
),
@@ -98,7 +98,7 @@ class FrequentlyQuestionsPage extends StatelessWidget {
});
},
child: Text(
'Visit our website or contact Siro support for information on driver registration and requirements.'
'Visit our website or contact Tripz support for information on driver registration and requirements.'
.tr,
style: AppStyle.title,
),
@@ -115,22 +115,22 @@ class FrequentlyQuestionsPage extends StatelessWidget {
),
children: [
Text(
'Siro provides in-app chat functionality to allow you to communicate with your driver or passenger during your ride.'
'Tripz provides in-app chat functionality to allow you to communicate with your driver or passenger during your ride.'
.tr,
style: AppStyle.title,
),
],
),
// Question 8: What safety measures does Siro offer?
// Question 8: What safety measures does Tripz offer?
ExpansionTile(
title: Text(
'What safety measures does Siro offer?'.tr,
'What safety measures does Tripz offer?'.tr,
style: AppStyle.title,
),
children: [
Text(
'Siro prioritizes your safety. We offer features like driver verification, in-app trip tracking, and emergency contact options.'
'Tripz prioritizes your safety. We offer features like driver verification, in-app trip tracking, and emergency contact options.'
.tr,
style: AppStyle.title,
),
@@ -1,13 +1,13 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/controller/profile/setting_controller.dart';
import 'package:siro_driver/views/lang/languages.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/controller/profile/setting_controller.dart';
import 'package:tripz_driver/views/lang/languages.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
// تأكد من صحة مسارات الاستيراد هذه
import '../../../../controller/functions/vibrate.dart'; // Controller with isVibrate
import '../../../widgets/ui/siro_ui.dart';
import '../../../widgets/ui/tripz_ui.dart';
import 'about_us.dart';
import 'frequantly_question.dart';
import 'using_app_page.dart';
@@ -21,13 +21,13 @@ class SettingsCaptain extends StatelessWidget {
final settingsController = Get.put(SettingController());
final homeController = Get.put(HomePageController());
return SiroPage(
return TripzPage(
title: 'Settings'.tr,
padding: SiroUi.pageInsets,
padding: TripzUi.pageInsets,
body: ListView(
children: <Widget>[
// --- القسم الأول: عام ---
SiroSectionTitle('General'.tr),
TripzSectionTitle('General'.tr),
_buildSettingsCard(
children: [
_buildListTile(
@@ -51,7 +51,7 @@ class SettingsCaptain extends StatelessWidget {
],
),
// --- القسم الثاني: تفضيلات التطبيق ---
SiroSectionTitle('App Preferences'.tr),
TripzSectionTitle('App Preferences'.tr),
_buildSettingsCard(
children: [
_buildSwitchTile(
@@ -92,7 +92,7 @@ class SettingsCaptain extends StatelessWidget {
],
),
// --- القسم الثالث: المساعدة والدعم ---
SiroSectionTitle('Help & Support'.tr),
TripzSectionTitle('Help & Support'.tr),
_buildSettingsCard(
children: [
_buildListTile(
@@ -113,11 +113,11 @@ class SettingsCaptain extends StatelessWidget {
],
),
// --- القسم الرابع: تسجيل الخروج ---
SiroSectionTitle('Account'.tr),
TripzSectionTitle('Account'.tr),
_buildSettingsCard(
children: [
ListTile(
leading: const SiroIconBadge(Icons.logout_rounded,
leading: const TripzIconBadge(Icons.logout_rounded,
color: AppColor.redColor),
title: Text(
'Logout'.tr,
@@ -146,7 +146,7 @@ class SettingsCaptain extends StatelessWidget {
// ويدجت لبناء بطاقة الإعدادات — تجمع عناصر القسم داخل سطح واحد.
Widget _buildSettingsCard({required List<Widget> children}) {
return SiroCard(
return TripzCard(
padding: const EdgeInsets.symmetric(vertical: 4),
child: Column(children: children),
);
@@ -161,13 +161,13 @@ class SettingsCaptain extends StatelessWidget {
}) {
return Builder(builder: (context) {
return ListTile(
leading: SiroIconBadge(icon, color: SiroUi.interactive(context)),
leading: TripzIconBadge(icon, color: TripzUi.interactive(context)),
title: Text(title, style: const TextStyle(fontWeight: FontWeight.w600)),
subtitle: subtitle != null
? Text(subtitle, style: Theme.of(context).textTheme.bodySmall)
: null,
trailing: Icon(Icons.arrow_forward_ios,
size: 14, color: SiroUi.subtle(context)),
size: 14, color: TripzUi.subtle(context)),
onTap: onTap,
);
});
@@ -188,15 +188,15 @@ class SettingsCaptain extends StatelessWidget {
builder: (ctrl) {
return Builder(builder: (context) {
return SwitchListTile(
secondary: SiroIconBadge(icon,
color: color ?? SiroUi.interactive(context)),
secondary: TripzIconBadge(icon,
color: color ?? TripzUi.interactive(context)),
title:
Text(title, style: const TextStyle(fontWeight: FontWeight.w600)),
subtitle: Text(subtitle,
style: Theme.of(context).textTheme.bodySmall),
value: valueGetter(ctrl),
onChanged: (value) => onChanged(ctrl),
activeThumbColor: SiroUi.interactive(context),
activeThumbColor: TripzUi.interactive(context),
);
});
},
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
// 1. إنشاء Class لتمثيل بيانات كل سؤال وجواب
class FaqItem {
@@ -43,13 +43,13 @@ class UsingAppPage extends StatelessWidget {
question: "What is the feature of our wallet?".tr,
icon: Icons.account_balance_wallet_outlined,
answer: Text(
'''Siro Wallet Features:
'''Tripz Wallet Features:
- Transfer money multiple times.
- Transfer to anyone.
- Make purchases.
- Charge your account.
- Charge a friend's Siro account.
- Charge a friend's Tripz account.
- Store your money with us and receive it in your bank as a monthly salary.'''
.tr,
style:
@@ -57,10 +57,10 @@ class UsingAppPage extends StatelessWidget {
),
),
FaqItem(
question: "What is Types of Trips in Siro?".tr,
question: "What is Types of Trips in Tripz?".tr,
icon: Icons.map_outlined,
answer: Text(
'''Types of Trips in Siro:
'''Types of Trips in Tripz:
- Comfort: For cars newer than 2017 with air conditioning.
- Lady: For girl drivers.
@@ -1,11 +1,11 @@
import 'package:siro_driver/constant/info.dart';
import 'package:tripz_driver/constant/info.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:video_player/video_player.dart';
import 'package:youtube_player_flutter/youtube_player_flutter.dart';
import '../../../../controller/home/captin/help/video_controller.dart';
import '../../../widgets/ui/siro_ui.dart';
import '../../../widgets/ui/tripz_ui.dart';
class VideoListPage extends StatelessWidget {
VideoListPage({super.key});
@@ -14,13 +14,13 @@ class VideoListPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return SiroPage(
return TripzPage(
title: 'Videos Tutorials'.tr,
padding: SiroUi.pageInsets,
padding: TripzUi.pageInsets,
body: GetBuilder<VideoController>(
builder: (videoController) {
if (videoController.videos.isEmpty) {
return SiroEmptyState(
return TripzEmptyState(
icon: Icons.video_library_rounded,
title: 'No videos available'.tr,
);
@@ -30,13 +30,13 @@ class VideoListPage extends StatelessWidget {
itemCount: videoController.videos.length,
itemBuilder: (context, index) {
final video = videoController.videos[index];
return SiroCard(
return TripzCard(
onTap: () =>
Get.to(() => VideoPlayerPage1(videoUrl: video['url'])),
child: Row(
children: [
SiroIconBadge(Icons.play_arrow_rounded,
color: SiroUi.interactive(context), size: 24),
TripzIconBadge(Icons.play_arrow_rounded,
color: TripzUi.interactive(context), size: 24),
const SizedBox(width: 14),
Expanded(
child: Column(
@@ -58,7 +58,7 @@ class VideoListPage extends StatelessWidget {
),
),
Icon(Icons.arrow_forward_ios_rounded,
size: 13, color: SiroUi.subtle(context)),
size: 13, color: TripzUi.subtle(context)),
],
),
);
@@ -82,13 +82,13 @@ class VideoPlayerPage extends StatelessWidget {
// Initialize the video when the page is loaded
videoController.initializeVideo(videoUrl);
return SiroPage(
return TripzPage(
title: AppInformation.appName,
body: Center(
child: GetBuilder<VideoController>(
builder: (controller) {
if (!controller.videoPlayerController.value.isInitialized) {
return const SiroLoading();
return const TripzLoading();
}
return Column(
@@ -140,9 +140,9 @@ class VideoPlayerPage1 extends StatelessWidget {
// رابط غير صالح كان يرمي `Null check operator used on a null value`
// ويُسقط الشاشة بيضاء بدل رسالة مفهومة.
if (videoId == null) {
return SiroPage(
return TripzPage(
title: AppInformation.appName,
body: SiroEmptyState(
body: TripzEmptyState(
icon: Icons.videocam_off_rounded,
title: 'Video unavailable'.tr,
),