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,
),
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/colors.dart';
import 'package:tripz_driver/constant/colors.dart';
class BottomBarController extends GetxController {
var currentIndex = 0.obs;
@@ -1,10 +1,10 @@
// import 'package:flutter/material.dart';
// import 'package:get/get.dart';
// import 'package:siro_driver/constant/colors.dart';
// import 'package:siro_driver/constant/style.dart';
// import 'package:siro_driver/controller/functions/camer_controller.dart';
// import 'package:siro_driver/views/widgets/elevated_btn.dart';
// import 'package:siro_driver/views/widgets/my_scafold.dart';
// import 'package:tripz_driver/constant/colors.dart';
// import 'package:tripz_driver/constant/style.dart';
// import 'package:tripz_driver/controller/functions/camer_controller.dart';
// import 'package:tripz_driver/views/widgets/elevated_btn.dart';
// import 'package:tripz_driver/views/widgets/my_scafold.dart';
// class CameraWidgetCardId extends StatelessWidget {
// final CameraClassController cameraClassController =
@@ -1,10 +1,10 @@
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:siro_driver/controller/home/captin/map_driver_controller.dart';
import 'package:siro_driver/constant/currency.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/controller/home/captin/map_driver_controller.dart';
import 'package:tripz_driver/constant/currency.dart';
import '../../../constant/colors.dart';
import '../../../controller/functions/location_controller.dart';
import '../../Rate/rate_passenger.dart';
@@ -1,12 +1,12 @@
import 'package:siro_driver/constant/currency.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:intl/intl.dart';
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
import '../../../../constant/colors.dart';
import '../../../../controller/auth/captin/history_captain.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import '../../../widgets/ui/siro_ui.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
import '../../../widgets/ui/tripz_ui.dart';
class HistoryCaptain extends StatelessWidget {
const HistoryCaptain({super.key});
@@ -19,7 +19,7 @@ class HistoryCaptain extends StatelessWidget {
body: GetBuilder<HistoryCaptainController>(
builder: (controller) {
if (controller.isloading) {
return const SiroLoading();
return const TripzLoading();
}
final List trips = controller.historyData['message'] ?? [];
@@ -52,7 +52,7 @@ class HistoryCaptain extends StatelessWidget {
children: [
Container(
decoration: BoxDecoration(
gradient: SiroUi.brandGradient(context),
gradient: TripzUi.brandGradient(context),
),
),
PositionedDirectional(
@@ -95,7 +95,7 @@ class HistoryCaptain extends StatelessWidget {
if (trips.isEmpty)
SliverFillRemaining(
hasScrollBody: false,
child: SiroEmptyState(
child: TripzEmptyState(
icon: Icons.history_toggle_off_rounded,
title: 'No Rides Yet'.tr,
message: 'Your completed trips will appear here'.tr,
@@ -169,16 +169,16 @@ class _TripHistoryCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
final accent = SiroUi.interactive(context);
final accent = TripzUi.interactive(context);
return SiroCard(
return TripzCard(
onTap: onTap,
padding: const EdgeInsets.all(16),
child: Column(
children: [
Row(
children: [
SiroIconBadge(Icons.receipt_long_rounded, color: accent),
TripzIconBadge(Icons.receipt_long_rounded, color: accent),
const SizedBox(width: 12),
Expanded(
child: Column(
@@ -212,7 +212,7 @@ class _TripHistoryCard extends StatelessWidget {
Container(
width: 2,
height: 20,
color: SiroUi.border(context),
color: TripzUi.border(context),
),
const Icon(Icons.location_on_rounded,
size: 14, color: AppColor.redColor),
@@ -254,7 +254,7 @@ class _TripHistoryCard extends StatelessWidget {
),
),
Icon(Icons.arrow_forward_ios_rounded,
size: 11, color: SiroUi.subtle(context)),
size: 11, color: TripzUi.subtle(context)),
],
),
],
@@ -296,6 +296,6 @@ class _TripHistoryCard extends StatelessWidget {
icon = Icons.help_rounded;
}
return SiroTag(label, color: color, icon: icon);
return TripzTag(label, color: color, icon: icon);
}
}
@@ -1,13 +1,13 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:intaleq_maps/intaleq_maps.dart';
import 'package:siro_driver/constant/api_key.dart';
import 'package:tripz_driver/constant/api_key.dart';
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
import 'package:siro_driver/controller/auth/captin/history_captain.dart';
import 'package:siro_driver/controller/functions/launch.dart';
import 'package:tripz_driver/controller/auth/captin/history_captain.dart';
import 'package:tripz_driver/controller/functions/launch.dart';
import '../../../widgets/ui/siro_ui.dart';
import '../../../widgets/ui/tripz_ui.dart';
class HistoryDetailsPage extends StatefulWidget {
const HistoryDetailsPage({super.key});
@@ -34,7 +34,7 @@ class _HistoryDetailsPageState extends State<HistoryDetailsPage> {
@override
Widget build(BuildContext context) {
return SiroPage(
return TripzPage(
title: 'Trip Details'.tr,
body: GetBuilder<HistoryCaptainController>(
builder: (controller) {
@@ -255,7 +255,7 @@ class _DetailCard extends StatelessWidget {
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.only(bottom: 16.0),
child: SiroCard(
child: TripzCard(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -1,32 +1,32 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/links.dart';
import 'package:siro_driver/controller/functions/upload_image.dart';
import 'package:siro_driver/controller/home/captin/home_captain_controller.dart';
import 'package:siro_driver/device_compatibility_page.dart';
import 'package:siro_driver/main.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/links.dart';
import 'package:tripz_driver/controller/functions/upload_image.dart';
import 'package:tripz_driver/controller/home/captin/home_captain_controller.dart';
import 'package:tripz_driver/device_compatibility_page.dart';
import 'package:tripz_driver/main.dart';
// استيراد الصفحات الأخرى... تأكد من صحة المسارات
import 'package:siro_driver/views/Rate/rate_app_page.dart';
import 'package:siro_driver/views/auth/captin/contact_us_page.dart';
import 'package:siro_driver/views/auth/captin/invite_driver_screen.dart';
import 'package:siro_driver/views/home/statistics/earnings_page.dart';
import 'package:siro_driver/views/gamification/challenges_page.dart';
import 'package:siro_driver/views/gamification/leaderboard_page.dart';
import 'package:siro_driver/views/home/journal/schedule_page.dart';
import 'package:siro_driver/views/notification/available_rides_page.dart';
import 'package:siro_driver/views/auth/captin/logout_captain.dart';
import 'package:siro_driver/views/home/Captin/history/history_captain.dart';
import 'package:siro_driver/views/home/Captin/home_captain/help_captain.dart';
import 'package:siro_driver/views/home/Captin/About Us/settings_captain.dart';
import 'package:siro_driver/views/home/my_wallet/walet_captain.dart';
import 'package:siro_driver/views/home/profile/profile_captain.dart';
import 'package:siro_driver/views/notification/notification_captain.dart';
import 'package:tripz_driver/views/Rate/rate_app_page.dart';
import 'package:tripz_driver/views/auth/captin/contact_us_page.dart';
import 'package:tripz_driver/views/auth/captin/invite_driver_screen.dart';
import 'package:tripz_driver/views/home/statistics/earnings_page.dart';
import 'package:tripz_driver/views/gamification/challenges_page.dart';
import 'package:tripz_driver/views/gamification/leaderboard_page.dart';
import 'package:tripz_driver/views/home/journal/schedule_page.dart';
import 'package:tripz_driver/views/notification/available_rides_page.dart';
import 'package:tripz_driver/views/auth/captin/logout_captain.dart';
import 'package:tripz_driver/views/home/Captin/history/history_captain.dart';
import 'package:tripz_driver/views/home/Captin/home_captain/help_captain.dart';
import 'package:tripz_driver/views/home/Captin/About Us/settings_captain.dart';
import 'package:tripz_driver/views/home/my_wallet/walet_captain.dart';
import 'package:tripz_driver/views/home/profile/profile_captain.dart';
import 'package:tripz_driver/views/notification/notification_captain.dart';
import 'package:url_launcher/url_launcher.dart';
import '../../../../constant/colors.dart';
import '../../../widgets/ui/siro_ui.dart';
import '../../../widgets/ui/tripz_ui.dart';
import '../../../transit/transit_driver_home_page.dart';
import '../About Us/video_page.dart';
import '../../../food_delivery/food_delivery_home_page.dart';
@@ -290,7 +290,7 @@ class _DrawerItemTile extends StatelessWidget {
visualDensity: const VisualDensity(vertical: -1),
horizontalTitleGap: 12,
contentPadding: const EdgeInsets.symmetric(horizontal: 12),
leading: SiroIconBadge(item.icon, color: color, size: 20),
leading: TripzIconBadge(item.icon, color: color, size: 20),
title: Text(
item.title,
overflow: TextOverflow.ellipsis,
@@ -374,7 +374,7 @@ class UserHeader extends StatelessWidget {
fontSize: 18,
shadows: [Shadow(blurRadius: 2, color: Colors.black26)]),
),
accountEmail: box.read(BoxName.emailDriver).toString().contains('siroapp')
accountEmail: box.read(BoxName.emailDriver).toString().contains('tripzapp')
? Text('Your email not updated yet'.tr)
: Text(box.read(BoxName.emailDriver)),
currentAccountPicture: GetBuilder<ImageController>(
@@ -462,8 +462,8 @@ class UserHeader extends StatelessWidget {
),
],
// تدرّج العلامة نفسه المستعمل في رؤوس الصفحات الداخلية
// (كان `Colors.blue.shade700` وهو أزرق لا علاقة له بهوية سيرو).
decoration: BoxDecoration(gradient: SiroUi.brandGradient(context)),
// (كان `Colors.blue.shade700` وهو أزرق لا علاقة له بهوية تريبز).
decoration: BoxDecoration(gradient: TripzUi.brandGradient(context)),
);
}
}
@@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/controller/home/captin/help/help_controller.dart';
import 'package:siro_driver/views/home/Captin/home_captain/help_details_replay_page.dart';
import 'package:tripz_driver/controller/home/captin/help/help_controller.dart';
import 'package:tripz_driver/views/home/Captin/home_captain/help_details_replay_page.dart';
import '../../../../controller/functions/encrypt_decrypt.dart';
import '../../../widgets/ui/siro_ui.dart';
import '../../../widgets/ui/tripz_ui.dart';
class HelpCaptain extends StatelessWidget {
const HelpCaptain({super.key});
@@ -14,18 +14,18 @@ class HelpCaptain extends StatelessWidget {
Get.put(HelpController());
final theme = Theme.of(context);
return SiroPage(
return TripzPage(
title: 'Helping Page'.tr,
padding: SiroUi.pageInsets,
padding: TripzUi.pageInsets,
body: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
SiroCard(
TripzCard(
child: Row(
children: [
SiroIconBadge(Icons.support_agent_rounded,
color: SiroUi.interactive(context)),
TripzIconBadge(Icons.support_agent_rounded,
color: TripzUi.interactive(context)),
const SizedBox(width: 12),
Expanded(
child: Text(
@@ -37,7 +37,7 @@ class HelpCaptain extends StatelessWidget {
],
),
),
SiroSectionTitle('Submit Your Question'.tr),
TripzSectionTitle('Submit Your Question'.tr),
GetBuilder<HelpController>(
builder: (helpController) => Form(
key: helpController.formKey,
@@ -60,7 +60,7 @@ class HelpCaptain extends StatelessWidget {
),
const SizedBox(height: 16),
helpController.isLoading
? const SiroLoading()
? const TripzLoading()
: SizedBox(
width: double.infinity,
child: ElevatedButton.icon(
@@ -81,14 +81,14 @@ class HelpCaptain extends StatelessWidget {
),
),
const SizedBox(height: 12),
SiroSectionTitle('Your Questions'.tr),
TripzSectionTitle('Your Questions'.tr),
GetBuilder<HelpController>(
builder: (helpController) {
final questions = helpController.helpQuestionDate['message'];
if (questions == null || questions.isEmpty) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: 24),
child: SiroEmptyState(
child: TripzEmptyState(
icon: Icons.forum_outlined,
title: 'No questions asked yet.'.tr,
),
@@ -100,7 +100,7 @@ class HelpCaptain extends StatelessWidget {
itemCount: questions.length,
itemBuilder: (context, index) {
var list = questions[index];
return SiroCard(
return TripzCard(
padding: EdgeInsets.zero,
child: ListTile(
title: Text(
@@ -115,7 +115,7 @@ class HelpCaptain extends StatelessWidget {
style: theme.textTheme.bodySmall,
),
trailing: Icon(Icons.arrow_forward_ios,
size: 14, color: SiroUi.subtle(context)),
size: 14, color: TripzUi.subtle(context)),
onTap: () {
helpController.getIndex(
int.parse(EncryptionHelper.instance
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/views/widgets/mycircular.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/views/widgets/mycircular.dart';
import '../../../../controller/functions/encrypt_decrypt.dart';
import '../../../../controller/home/captin/help/help_controller.dart';
@@ -6,8 +6,8 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:flutter_font_icons/flutter_font_icons.dart';
import 'package:siro_driver/views/home/Captin/home_captain/drawer_captain.dart';
import 'package:siro_driver/views/widgets/mycircular.dart';
import 'package:tripz_driver/views/home/Captin/home_captain/drawer_captain.dart';
import 'package:tripz_driver/views/widgets/mycircular.dart';
import '../../../../constant/box_name.dart';
import '../../../../constant/colors.dart';
@@ -1,8 +1,8 @@
import 'package:siro_driver/controller/functions/tts.dart';
import 'package:tripz_driver/controller/functions/tts.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/controller/home/payment/captain_wallet_controller.dart';
import 'package:tripz_driver/controller/home/payment/captain_wallet_controller.dart';
import '../../../../../constant/style.dart';
import '../../../../widgets/elevated_btn.dart';
@@ -1,9 +1,9 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:intaleq_maps/intaleq_maps.dart';
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/controller/home/captin/destination_controller.dart';
import 'package:siro_driver/controller/functions/tts.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/controller/home/captin/destination_controller.dart';
import 'package:tripz_driver/controller/functions/tts.dart';
class DestinationBottomSheet extends StatelessWidget {
const DestinationBottomSheet({super.key});
@@ -1,14 +1,14 @@
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/controller/firebase/local_notification.dart';
import 'package:siro_driver/main.dart';
import 'package:siro_driver/views/home/Captin/driver_map_page.dart';
import 'package:siro_driver/views/home/Captin/orderCaptin/vip_order_page.dart';
import 'package:siro_driver/views/auth/syria/registration_view.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/controller/firebase/local_notification.dart';
import 'package:tripz_driver/main.dart';
import 'package:tripz_driver/views/home/Captin/driver_map_page.dart';
import 'package:tripz_driver/views/home/Captin/orderCaptin/vip_order_page.dart';
import 'package:tripz_driver/views/auth/syria/registration_view.dart';
import 'package:flutter/material.dart';
import 'package:flutter_font_icons/flutter_font_icons.dart';
import 'package:get/get.dart';
import 'package:siro_driver/controller/home/captin/home_captain_controller.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import 'package:tripz_driver/controller/home/captin/home_captain_controller.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
import '../../../../../constant/links.dart';
import '../../../../../controller/firebase/notification_service.dart';
@@ -16,7 +16,7 @@ import '../../../../../controller/functions/crud.dart';
import '../../../../../controller/home/captin/order_request_controller.dart';
import '../../../../../print.dart';
import '../../../../Rate/ride_calculate_driver.dart';
import 'package:siro_driver/views/home/statistics/earnings_page.dart';
import 'package:tripz_driver/views/home/statistics/earnings_page.dart';
// ─────────────────────────────────────────────
// Design Tokens (Responsive)
@@ -1,8 +1,8 @@
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/controller/home/captin/help/maintain_center_controller.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/controller/home/captin/help/maintain_center_controller.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -1,4 +1,4 @@
import 'package:siro_driver/constant/currency.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:intl/intl.dart';
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:intaleq_maps/intaleq_maps.dart';
import 'package:siro_driver/constant/api_key.dart';
import 'package:tripz_driver/constant/api_key.dart';
import '../../../../controller/functions/location_controller.dart';
import '../../../../controller/home/captin/map_driver_controller.dart';
@@ -1,6 +1,6 @@
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/controller/home/captin/map_driver_controller.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/controller/home/captin/map_driver_controller.dart';
import 'package:flutter/material.dart';
import 'package:flutter_font_icons/flutter_font_icons.dart';
import 'package:get/get.dart';
@@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/controller/home/captin/map_driver_controller.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/controller/home/captin/map_driver_controller.dart';
import '../../../../constant/box_name.dart';
import '../../../../constant/style.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
import '../../../../controller/voice_call_controller.dart';
import '../../../../controller/functions/launch.dart';
import '../../../../controller/functions/location_controller.dart';
@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/views/widgets/error_snakbar.dart';
import 'package:siro_driver/views/widgets/my_textField.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart'; // Checked import
import 'package:tripz_driver/views/widgets/error_snakbar.dart';
import 'package:tripz_driver/views/widgets/my_textField.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart'; // Checked import
import 'package:flutter_font_icons/flutter_font_icons.dart';
import '../../../../constant/box_name.dart';
@@ -5,8 +5,8 @@ import 'package:flutter_overlay_window/flutter_overlay_window.dart';
import 'package:get/get.dart';
import 'package:intl/intl.dart';
import 'package:just_audio/just_audio.dart';
import 'package:siro_driver/constant/api_key.dart';
import 'package:siro_driver/models/overlay_service.dart';
import 'package:tripz_driver/constant/api_key.dart';
import 'package:tripz_driver/models/overlay_service.dart';
import '../../../../constant/box_name.dart';
import '../../../../constant/links.dart';
import '../../../../controller/firebase/local_notification.dart';
@@ -1,14 +1,14 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:intaleq_maps/intaleq_maps.dart';
import 'package:siro_driver/constant/api_key.dart';
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/controller/home/captin/order_request_controller.dart';
import 'package:siro_driver/views/widgets/offer_type_badge.dart';
import 'package:siro_driver/views/widgets/scheduled_ride_badge.dart';
import 'package:siro_driver/views/widgets/sms_ride_badge.dart';
import 'package:siro_driver/constant/currency.dart';
import 'package:siro_driver/views/widgets/driver_earnings_badge.dart';
import 'package:tripz_driver/constant/api_key.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/controller/home/captin/order_request_controller.dart';
import 'package:tripz_driver/views/widgets/offer_type_badge.dart';
import 'package:tripz_driver/views/widgets/scheduled_ride_badge.dart';
import 'package:tripz_driver/views/widgets/sms_ride_badge.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'package:tripz_driver/views/widgets/driver_earnings_badge.dart';
class OrderRequestPage extends StatelessWidget {
const OrderRequestPage({super.key});
@@ -4,12 +4,12 @@
// import 'package:get/get.dart';
// import 'package:intaleq_maps/intaleq_maps.dart';
// import 'package:siro_driver/controller/home/captin/home_captain_controller.dart';
// import 'package:siro_driver/constant/box_name.dart';
// import 'package:siro_driver/controller/firebase/firbase_messge.dart';
// import 'package:siro_driver/main.dart';
// import 'package:siro_driver/print.dart';
// import 'package:siro_driver/views/home/Captin/driver_map_page.dart';
// import 'package:tripz_driver/controller/home/captin/home_captain_controller.dart';
// import 'package:tripz_driver/constant/box_name.dart';
// import 'package:tripz_driver/controller/firebase/firbase_messge.dart';
// import 'package:tripz_driver/main.dart';
// import 'package:tripz_driver/print.dart';
// import 'package:tripz_driver/views/home/Captin/driver_map_page.dart';
// import '../../../../constant/colors.dart';
// import '../../../../constant/links.dart';
@@ -2,7 +2,7 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:intaleq_maps/intaleq_maps.dart';
import 'package:siro_driver/constant/api_key.dart';
import 'package:tripz_driver/constant/api_key.dart';
import 'dart:math' as math;
import '../../../../constant/colors.dart';
@@ -1,9 +1,9 @@
import 'dart:convert';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/links.dart';
import 'package:siro_driver/controller/functions/crud.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/links.dart';
import 'package:tripz_driver/controller/functions/crud.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -2,7 +2,7 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/views/widgets/mycircular.dart';
import 'package:tripz_driver/views/widgets/mycircular.dart';
import '../../../controller/functions/ocr_controller.dart';
@@ -3,7 +3,7 @@ import 'package:get/get.dart';
import '../../../constant/colors.dart';
import '../../../controller/insurance/driver_insurance_controller.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
/// شاشة التأمين: الوثيقة النشطة ودفترها، أو الخطط المتاحة.
///
@@ -17,19 +17,19 @@ class DriverInsurancePage extends StatelessWidget {
Widget build(BuildContext context) {
final c = Get.put(DriverInsuranceController());
return SiroPage(
return TripzPage(
title: 'Insurance'.tr,
body: Obx(() {
if (c.isLoading.value) {
return const SiroLoading();
return const TripzLoading();
}
return RefreshIndicator(
onRefresh: c.refreshAll,
color: SiroUi.interactive(context),
color: TripzUi.interactive(context),
child: ListView(
physics: const AlwaysScrollableScrollPhysics(),
padding: SiroUi.pageInsets,
padding: TripzUi.pageInsets,
children:
c.hasPolicy ? _policyView(context, c) : _plansView(context, c),
),
@@ -43,14 +43,14 @@ class DriverInsurancePage extends StatelessWidget {
final p = c.policy.value!;
return [
SiroCard(
TripzCard(
accent: AppColor.greenColor,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
const SiroIconBadge(Icons.verified_user_rounded,
const TripzIconBadge(Icons.verified_user_rounded,
color: AppColor.greenColor),
const SizedBox(width: 10),
Expanded(
@@ -90,7 +90,7 @@ class DriverInsurancePage extends StatelessWidget {
// ── دفتر الأقساط ──
// يظهر في نفس الشاشة لا في أخرى: الخصم الذي لا يرى السائق مقابله
// مفاجأة تُفقد الثقة، مهما كان مشروحاً في مكان آخر.
SiroCard(
TripzCard(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -152,7 +152,7 @@ class DriverInsurancePage extends StatelessWidget {
// ‏نقص أهلية — ونقولها صراحة حتى لا يظن الكابتن أن التطبيق خربان.
return [
const SizedBox(height: 48),
SiroEmptyState(
TripzEmptyState(
icon: Icons.health_and_safety_outlined,
title: 'No insurance plans available yet'.tr,
message:
@@ -168,7 +168,7 @@ class DriverInsurancePage extends StatelessWidget {
final progress = (plan['progress_rides'] ?? 0) as num;
final required = (plan['required_rides'] ?? 0) as num;
return SiroCard(
return TripzCard(
accent: eligible ? AppColor.greenColor : null,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -183,7 +183,7 @@ class DriverInsurancePage extends StatelessWidget {
?.copyWith(fontWeight: FontWeight.bold)),
),
if (eligible)
SiroTag('Eligible'.tr,
TripzTag('Eligible'.tr,
color: AppColor.greenColor,
icon: Icons.check_circle_rounded),
],
@@ -196,7 +196,7 @@ class DriverInsurancePage extends StatelessWidget {
'${plan['billing_cycle'] == 'monthly' ? 'Monthly'.tr : 'Daily'.tr}',
style: Theme.of(context).textTheme.titleMedium?.copyWith(
fontWeight: FontWeight.bold,
color: SiroUi.interactive(context),
color: TripzUi.interactive(context),
),
),
if ((plan['coverage'] ?? '').toString().isNotEmpty) ...[
@@ -214,7 +214,7 @@ class DriverInsurancePage extends StatelessWidget {
child: LinearProgressIndicator(
minHeight: 7,
value: required == 0 ? 0 : (progress / required).clamp(0, 1),
backgroundColor: SiroUi.border(context),
backgroundColor: TripzUi.border(context),
),
),
const SizedBox(height: 6),
@@ -290,5 +290,5 @@ class DriverInsurancePage extends StatelessWidget {
(double.tryParse('${v ?? 0}') ?? 0).toStringAsFixed(2);
Widget _row(String label, String value) =>
SiroDetailRow(label: label, value: value);
TripzDetailRow(label: label, value: value);
}
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../../controller/scheduled/driver_scheduled_rides_controller.dart';
import '../../../constant/colors.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
class DriverScheduledRidesPage extends StatelessWidget {
const DriverScheduledRidesPage({super.key});
@@ -11,17 +11,17 @@ class DriverScheduledRidesPage extends StatelessWidget {
Widget build(BuildContext context) {
final controller = Get.put(DriverScheduledRidesController());
return SiroPage(
return TripzPage(
title: 'Upcoming Scheduled Rides'.tr,
body: Obx(() {
if (controller.isLoading.value) {
return const SiroLoading();
return const TripzLoading();
}
// ‏تعذّر الجلب: نقولها بدل ادّعاء "لا حجوزات" — الفرق بينهما
// ‏هو الفرق بين كابتن يطمئن وكابتن يفوته عمل مؤكد.
if (controller.hasError.value) {
return SiroErrorState(
return TripzErrorState(
message: '${'Could not load scheduled rides'.tr}\n'
'${'Please check your connection and try again.'.tr}',
onRetry: controller.fetch,
@@ -29,7 +29,7 @@ class DriverScheduledRidesPage extends StatelessWidget {
}
if (controller.bookings.isEmpty) {
return SiroEmptyState(
return TripzEmptyState(
icon: Icons.calendar_month_rounded,
title: 'You have no upcoming scheduled rides'.tr,
);
@@ -37,10 +37,10 @@ class DriverScheduledRidesPage extends StatelessWidget {
return RefreshIndicator(
onRefresh: controller.fetch,
color: SiroUi.interactive(context),
color: TripzUi.interactive(context),
child: ListView.builder(
physics: const AlwaysScrollableScrollPhysics(),
padding: SiroUi.pageInsets,
padding: TripzUi.pageInsets,
itemCount: controller.bookings.length,
itemBuilder: (context, index) {
final booking = controller.bookings[index];
@@ -53,7 +53,7 @@ class DriverScheduledRidesPage extends StatelessWidget {
}
Widget _buildBookingCard(Map<String, dynamic> booking, BuildContext context) {
return SiroCard(
return TripzCard(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -62,9 +62,9 @@ class DriverScheduledRidesPage extends StatelessWidget {
Expanded(
child: Align(
alignment: AlignmentDirectional.centerStart,
child: SiroTag(
child: TripzTag(
booking['scheduled_at'] ?? '',
color: SiroUi.interactive(context),
color: TripzUi.interactive(context),
icon: Icons.access_time_rounded,
),
),
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../../controller/home/journal/schedule_controller.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
class SchedulePage extends StatelessWidget {
SchedulePage({super.key});
@@ -9,15 +9,15 @@ class SchedulePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return SiroPage(
return TripzPage(
title: 'My Schedule'.tr,
padding: SiroUi.pageInsets,
padding: TripzUi.pageInsets,
body: GetBuilder<ScheduleController>(builder: (sc) {
return SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SiroHeroHeader(
TripzHeroHeader(
label: 'Weekly Plan'.tr,
value: '${sc.totalWeeklyHours.toStringAsFixed(1)}h',
caption: '${sc.activeDays} ${'Days'.tr}',
@@ -32,7 +32,7 @@ class SchedulePage extends StatelessWidget {
color: Colors.white, size: 26),
),
),
SiroSectionTitle('Work Days'.tr),
TripzSectionTitle('Work Days'.tr),
...sc.schedule.map((slot) => _buildDayCard(context, slot, sc)),
const SizedBox(height: 16),
],
@@ -45,10 +45,10 @@ class SchedulePage extends StatelessWidget {
Widget _buildDayCard(
BuildContext context, WorkSlot slot, ScheduleController sc) {
final isAr = Get.locale?.languageCode == 'ar';
final accent = SiroUi.interactive(context);
final off = SiroUi.subtle(context);
final accent = TripzUi.interactive(context);
final off = TripzUi.subtle(context);
return SiroCard(
return TripzCard(
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 10),
margin: const EdgeInsets.only(bottom: 10),
accent: slot.isActive ? accent : null,
@@ -135,7 +135,7 @@ class SchedulePage extends StatelessWidget {
child: Container(
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 5),
decoration: BoxDecoration(
color: SiroUi.interactive(context).withValues(alpha: 0.10),
color: TripzUi.interactive(context).withValues(alpha: 0.10),
borderRadius: BorderRadius.circular(8),
),
child: Text(
@@ -143,7 +143,7 @@ class SchedulePage extends StatelessWidget {
style: TextStyle(
fontSize: 12,
fontWeight: FontWeight.w700,
color: SiroUi.interactive(context),
color: TripzUi.interactive(context),
),
),
),
@@ -4,7 +4,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:siro_driver/views/home/my_wallet/pay_out_screen.dart';
import 'package:tripz_driver/views/home/my_wallet/pay_out_screen.dart';
import '../../../constant/box_name.dart';
import '../../../constant/colors.dart';
@@ -96,7 +96,7 @@ class CardSeferWalletDriver extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
'رصيد سيرو',
'رصيد تريبز',
style: AppStyle.headTitle.copyWith(
fontFamily: 'Amiri', // خط يوحي بالفخامة
color: Colors.white,
@@ -8,7 +8,7 @@ import '../../../constant/links.dart';
import '../../../constant/style.dart';
import '../../../controller/functions/crud.dart';
import '../../../main.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
// --- ملاحظات هامة ---
// 1. تأكد من إضافة الرابط الجديد إلى ملف AppLink الخاص بك:
@@ -163,7 +163,7 @@ class _EcashDriverPaymentScreenState extends State<EcashDriverPaymentScreen> {
@override
Widget build(BuildContext context) {
return SiroPage(
return TripzPage(
title: 'Complete Payment'.tr,
body: WebViewWidget(controller: _controller),
);
@@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:local_auth/local_auth.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/main.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/main.dart';
import '../../../controller/payment/smsPaymnet/pay_out_syria_controller.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
class PayoutScreen extends StatefulWidget {
// استقبال كل البيانات المطلوبة جاهزة
@@ -129,10 +129,10 @@ class _PayoutScreenState extends State<PayoutScreen> {
// حساب المبلغ الإجمالي المخصوم
final totalDeducted = widget.amountToWithdraw + PayoutService.payoutFee;
return SiroPage(
return TripzPage(
title: "تأكيد سحب الأموال",
body: SingleChildScrollView(
padding: SiroUi.pageInsets,
padding: TripzUi.pageInsets,
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
@@ -165,7 +165,7 @@ class _PayoutScreenState extends State<PayoutScreen> {
}
Widget _buildSummaryCard(double totalDeducted) {
return SiroCard(
return TripzCard(
padding: const EdgeInsets.all(16.0),
child: Column(
children: [
@@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
import 'package:siro_driver/constant/finance_design_system.dart';
import 'package:tripz_driver/constant/finance_design_system.dart';
import '../../../controller/payment/driver_payment_controller.dart';
import 'widgets/transaction_preview_item.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
class PaymentHistoryDriverPage extends StatelessWidget {
const PaymentHistoryDriverPage({super.key});
@@ -13,12 +13,12 @@ class PaymentHistoryDriverPage extends StatelessWidget {
Widget build(BuildContext context) {
Get.put(DriverWalletHistoryController());
return SiroPage(
return TripzPage(
title: 'Payment History'.tr,
body: GetBuilder<DriverWalletHistoryController>(
builder: (controller) {
if (controller.isLoading) {
return const SiroLoading();
return const TripzLoading();
}
if (controller.archive.isEmpty) {
@@ -5,7 +5,7 @@ import 'package:get/get.dart';
import 'package:intl/intl.dart';
import '../../../constant/links.dart';
import '../../../controller/functions/crud.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
class PaymentScreenCliq extends StatefulWidget {
final double amount;
@@ -105,7 +105,7 @@ class _PaymentScreenCliqState extends State<PaymentScreenCliq>
@override
Widget build(BuildContext context) {
return SiroPage(
return TripzPage(
title: "Cliq Payment",
body: SafeArea(
child: Padding(
@@ -5,7 +5,7 @@ import 'package:get/get.dart';
import 'package:intl/intl.dart';
import '../../../constant/links.dart';
import '../../../controller/functions/crud.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
class PaymentScreenMtn extends StatefulWidget {
final double amount;
@@ -90,7 +90,7 @@ class _PaymentScreenMtnState extends State<PaymentScreenMtn> with SingleTickerPr
@override
Widget build(BuildContext context) {
return SiroPage(
return TripzPage(
title: "MTN Payment",
body: SafeArea(
child: Padding(
@@ -1,12 +1,12 @@
import 'package:siro_driver/constant/currency.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:local_auth/local_auth.dart';
import 'package:siro_driver/controller/home/payment/captain_wallet_controller.dart';
import 'package:siro_driver/controller/payment/payment_controller.dart';
import 'package:siro_driver/controller/payment/smsPaymnet/payment_services.dart';
import 'package:tripz_driver/controller/home/payment/captain_wallet_controller.dart';
import 'package:tripz_driver/controller/payment/payment_controller.dart';
import 'package:tripz_driver/controller/payment/smsPaymnet/payment_services.dart';
import 'package:webview_flutter/webview_flutter.dart';
import '../../../constant/box_name.dart';
@@ -188,7 +188,7 @@ class PointsCaptain extends StatelessWidget {
_buildPaymentMethodTile(
icon: Icons.qr_code_scanner_rounded,
title: 'CliQ'.tr,
subtitle: 'Pay via CliQ (Alias: siroapp)'.tr,
subtitle: 'Pay via CliQ (Alias: tripzapp)'.tr,
color: Colors.purple,
onTap: () => _showPhoneInputDialog(context, 'CliQ'),
),
@@ -1,12 +1,12 @@
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:siro_driver/views/widgets/my_textField.dart';
import 'package:siro_driver/views/widgets/mycircular.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/views/widgets/my_textField.dart';
import 'package:tripz_driver/views/widgets/mycircular.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/currency.dart';
import 'package:tripz_driver/constant/currency.dart';
import '../../../controller/home/payment/captain_wallet_controller.dart';
@@ -1,20 +1,20 @@
import 'package:siro_driver/constant/currency.dart';
import 'package:siro_driver/constant/recharge_tiers.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'package:tripz_driver/constant/recharge_tiers.dart';
import 'package:local_auth/local_auth.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/finance_design_system.dart';
import 'package:siro_driver/controller/home/payment/captain_wallet_controller.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:siro_driver/views/widgets/my_textField.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import 'package:siro_driver/views/widgets/error_snakbar.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/links.dart';
import 'package:siro_driver/controller/functions/crud.dart';
import 'package:siro_driver/main.dart';
import 'package:siro_driver/views/home/my_wallet/payment_history_driver_page.dart';
import 'package:siro_driver/controller/payment/driver_payment_controller.dart';
import 'package:tripz_driver/constant/finance_design_system.dart';
import 'package:tripz_driver/controller/home/payment/captain_wallet_controller.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/views/widgets/my_textField.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
import 'package:tripz_driver/views/widgets/error_snakbar.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/links.dart';
import 'package:tripz_driver/controller/functions/crud.dart';
import 'package:tripz_driver/main.dart';
import 'package:tripz_driver/views/home/my_wallet/payment_history_driver_page.dart';
import 'package:tripz_driver/controller/payment/driver_payment_controller.dart';
// Import new widgets
import 'points_captain.dart';
@@ -24,7 +24,7 @@ import 'widgets/quick_actions.dart';
import 'widgets/financial_summary_card.dart';
import 'widgets/promo_gamification_card.dart';
import 'widgets/transaction_preview_item.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
class WalletCaptainRefactored extends StatefulWidget {
const WalletCaptainRefactored({super.key});
@@ -50,7 +50,7 @@ class _WalletCaptainRefactoredState extends State<WalletCaptainRefactored> {
@override
Widget build(BuildContext context) {
// شريط العنوان من الثيم — لا ألوان مبنيّة يدوياً هنا.
return SiroPage(
return TripzPage(
title: 'Driver Balance'.tr,
actions: [
IconButton(
@@ -62,7 +62,7 @@ class _WalletCaptainRefactoredState extends State<WalletCaptainRefactored> {
body: GetBuilder<CaptainWalletController>(
builder: (controller) {
if (controller.isLoading) {
return const SiroLoading();
return const TripzLoading();
}
return SingleChildScrollView(
padding: const EdgeInsets.symmetric(
@@ -1,11 +1,11 @@
import 'package:siro_driver/constant/currency.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'package:flutter/material.dart';
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/finance_design_system.dart';
import 'package:tripz_driver/constant/finance_design_system.dart';
import '../../../controller/payment/driver_payment_controller.dart';
import 'widgets/transaction_preview_item.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
class WeeklyPaymentPage extends StatelessWidget {
const WeeklyPaymentPage({super.key});
@@ -14,12 +14,12 @@ class WeeklyPaymentPage extends StatelessWidget {
Widget build(BuildContext context) {
Get.put(DriverWalletHistoryController());
return SiroPage(
return TripzPage(
title: 'Weekly Summary'.tr,
body: GetBuilder<DriverWalletHistoryController>(
builder: (controller) {
if (controller.isLoading) {
return const SiroLoading();
return const TripzLoading();
}
return Column(
@@ -1,4 +1,4 @@
import 'package:siro_driver/constant/currency.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../../../constant/finance_design_system.dart';
@@ -1,4 +1,4 @@
import 'package:siro_driver/constant/currency.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../../../constant/finance_design_system.dart';
@@ -1,4 +1,4 @@
import 'package:siro_driver/constant/currency.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../../../constant/finance_design_system.dart';
@@ -1,7 +1,7 @@
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/controller/auth/onboarding_controller.dart';
import 'package:siro_driver/onbording_page.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/controller/auth/onboarding_controller.dart';
import 'package:tripz_driver/onbording_page.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -3,7 +3,7 @@ import 'package:get/get.dart';
import '../../../constant/finance_design_system.dart';
import '../../../controller/home/captin/behavior_controller.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
class BehaviorPage extends StatelessWidget {
const BehaviorPage({super.key});
@@ -13,11 +13,11 @@ class BehaviorPage extends StatelessWidget {
final controller = Get.put(DriverBehaviorController());
controller.fetchDriverBehavior();
return SiroPage(
return TripzPage(
title: 'Driver Behavior'.tr,
body: Obx(() {
if (controller.isLoading.value) {
return const SiroLoading();
return const TripzLoading();
}
double score = controller.overallScore.value;
@@ -1,11 +1,11 @@
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/controller/functions/encrypt_decrypt.dart';
import 'package:siro_driver/main.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:siro_driver/views/widgets/mycircular.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/controller/functions/encrypt_decrypt.dart';
import 'package:tripz_driver/main.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/views/widgets/mycircular.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
import 'package:flutter/material.dart';
import 'package:flutter_font_icons/flutter_font_icons.dart';
import 'package:get/get.dart';
@@ -1,5 +1,5 @@
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -2,12 +2,12 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/controller/home/profile/complaint_controller.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:siro_driver/views/widgets/mycircular.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/controller/home/profile/complaint_controller.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/views/widgets/mycircular.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import '../../../constant/colors.dart';
import '../../../controller/functions/audio_recorder_controller.dart';
@@ -199,7 +199,7 @@ class ComplaintPage extends StatelessWidget {
leading: const Icon(
Icons.support_agent_outlined,
color: AppColor.primaryColor),
title: Text("Siro's Response".tr,
title: Text("Tripz's Response".tr,
style: AppStyle.title),
subtitle: Text(
controller.driverReport?['body']
@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/controller/home/profile/feed_back_controller.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:siro_driver/views/widgets/mycircular.dart';
import 'package:tripz_driver/controller/home/profile/feed_back_controller.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/views/widgets/mycircular.dart';
import '../../widgets/elevated_btn.dart';
@@ -1,15 +1,15 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/controller/profile/profile_controller.dart';
import 'package:siro_driver/main.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:siro_driver/views/widgets/my_textField.dart';
import 'package:siro_driver/views/widgets/mycircular.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/controller/profile/profile_controller.dart';
import 'package:tripz_driver/main.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/views/widgets/my_textField.dart';
import 'package:tripz_driver/views/widgets/mycircular.dart';
import '../../../controller/functions/log_out.dart';
@@ -1,11 +1,11 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/controller/profile/captain_profile_controller.dart';
import 'package:siro_driver/main.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:siro_driver/views/widgets/mycircular.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/controller/profile/captain_profile_controller.dart';
import 'package:tripz_driver/main.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/views/widgets/mycircular.dart';
import '../../../constant/links.dart';
import '../../../controller/functions/crud.dart';
import 'behavior_page.dart';
@@ -259,7 +259,7 @@ void showShamCashInput() {
child: TextField(
controller: nameController,
decoration: InputDecoration(
hintText: "مثال: siro",
hintText: "مثال: tripz",
hintStyle: TextStyle(color: Colors.grey[400], fontSize: 13),
border: InputBorder.none,
prefixIcon: const Icon(Icons.person_outline_rounded,
@@ -461,7 +461,7 @@ class PersonalInfoCard extends StatelessWidget {
label: 'Phone Number'.tr,
value: data['phone'] ?? ''),
if (data['email'] != null &&
data['email'].toString().contains('siroapp')) ...[
data['email'].toString().contains('tripzapp')) ...[
TextFormField(
controller: controller.emailController,
keyboardType:
@@ -1,8 +1,8 @@
import 'package:animated_text_kit/animated_text_kit.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/controller/home/profile/promos_controller.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/controller/home/profile/promos_controller.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import '../../../constant/colors.dart';
import '../../../constant/style.dart';
@@ -1,9 +1,9 @@
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/main.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/main.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/views/widgets/my_scafold.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/views/widgets/my_scafold.dart';
import '../../../constant/colors.dart';
@@ -7,13 +7,13 @@
// ‏ثم الاقتطاعات، ثم أسبوعه، ثم تفصيل كل رحلة.
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/currency.dart';
import 'package:siro_driver/constant/finance_design_system.dart';
import 'package:siro_driver/controller/gamification/gamification_controller.dart';
import 'package:siro_driver/controller/home/statistics/earnings_controller.dart';
import 'package:siro_driver/controller/home/statistics/earnings_models.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'package:tripz_driver/constant/finance_design_system.dart';
import 'package:tripz_driver/controller/gamification/gamification_controller.dart';
import 'package:tripz_driver/controller/home/statistics/earnings_controller.dart';
import 'package:tripz_driver/controller/home/statistics/earnings_models.dart';
import '../../widgets/ui/siro_ui.dart';
import '../../widgets/ui/tripz_ui.dart';
import 'widgets/behavior_and_achievements.dart';
import 'widgets/daily_goal_widget.dart';
import 'widgets/level_progress_widget.dart';
@@ -31,12 +31,12 @@ class EarningsPage extends StatelessWidget {
Widget build(BuildContext context) {
// شريط العنوان يأتي من الثيم — كان يبني ألوانه يدوياً في كل صفحة،
// فيختلف ارتفاعه ووزن خطه من شاشة لأخرى.
return SiroPage(
return TripzPage(
title: 'My Earnings'.tr,
body: GetBuilder<EarningsController>(
builder: (ctl) {
if (ctl.isLoading && ctl.summary == null) {
return const SiroLoading();
return const TripzLoading();
}
// ‏لا بيانات ولا كاش: نعرض الخطأ صريحاً مع زر إعادة. الشاشة
@@ -1,4 +1,4 @@
import 'package:siro_driver/constant/currency.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../../../constant/finance_design_system.dart';