Update: 2026-07-29 19:44:57
This commit is contained in:
@@ -236,7 +236,7 @@ class LoginPage extends StatelessWidget {
|
||||
recognizer: TapGestureRecognizer()
|
||||
..onTap = () {
|
||||
launchUrl(Uri.parse(
|
||||
'https://intaleq.xyz/siro/privacy_policy.php'));
|
||||
'https://intaleq.xyz/intaleq/privacy_policy.php'));
|
||||
},
|
||||
),
|
||||
TextSpan(text: " and acknowledge our Privacy Policy.".tr),
|
||||
@@ -506,7 +506,7 @@ class LoginPage extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(height: 14),
|
||||
Text(
|
||||
'يجمع تطبيق سيرو بيانات الموقع لتفعيل ميزة التتبع الجغرافي (Geofence) ولتمكين السائق من الوصول إليك بدقة وتتبع رحلتك حتى عندما يكون التطبيق في الخلفية أو مغلقاً.'
|
||||
'يجمع تطبيق انطلق بيانات الموقع لتفعيل ميزة التتبع الجغرافي (Geofence) ولتمكين السائق من الوصول إليك بدقة وتتبع رحلتك حتى عندما يكون التطبيق في الخلفية أو مغلقاً.'
|
||||
.tr,
|
||||
textAlign: TextAlign.center,
|
||||
style: AppStyle.title.copyWith(
|
||||
|
||||
@@ -425,7 +425,7 @@ class _PhoneNumberScreenState extends State<PhoneNumberScreen> {
|
||||
final isDark = Theme.of(context).brightness == Brightness.dark;
|
||||
|
||||
return AuthScreen(
|
||||
title: 'welcome to siro'.tr,
|
||||
title: 'welcome to intaleq'.tr,
|
||||
subtitle: 'login or register subtitle'.tr,
|
||||
form: Form(
|
||||
key: _formKey,
|
||||
|
||||
@@ -28,7 +28,7 @@ class AboutPage extends StatelessWidget {
|
||||
|
||||
// Company Name and Introduction
|
||||
Text(
|
||||
'Siro LLC',
|
||||
'Intaleq LLC',
|
||||
style: CupertinoTheme.of(context).textTheme.navTitleTextStyle,
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
@@ -43,7 +43,7 @@ class AboutPage extends StatelessWidget {
|
||||
|
||||
// Key Features Section
|
||||
Text(
|
||||
'Why Choose Siro?'.tr,
|
||||
'Why Choose Intaleq?'.tr,
|
||||
style: CupertinoTheme.of(context).textTheme.navTitleTextStyle,
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
|
||||
@@ -107,7 +107,7 @@ class ContactUsPage extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
Text(
|
||||
"Siro Support".tr,
|
||||
"Intaleq Support".tr,
|
||||
style: AppStyle.headTitle2.copyWith(
|
||||
fontSize: 22,
|
||||
fontWeight: FontWeight.bold,
|
||||
@@ -229,7 +229,7 @@ class ContactUsPage extends StatelessWidget {
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
"About Siro".tr,
|
||||
"About Intaleq".tr,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 18,
|
||||
@@ -239,7 +239,7 @@ class ContactUsPage extends StatelessWidget {
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
Get.find<TextToSpeechController>().speakText(
|
||||
'Siro is the safest and most reliable ride-sharing app designed especially for passengers in Syria. We provide a comfortable, respectful, and affordable riding experience with features that prioritize your safety and convenience.'
|
||||
'Intaleq is the safest and most reliable ride-sharing app designed especially for passengers in Syria. We provide a comfortable, respectful, and affordable riding experience with features that prioritize your safety and convenience.'
|
||||
.tr,
|
||||
);
|
||||
},
|
||||
@@ -249,7 +249,7 @@ class ContactUsPage extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
Text(
|
||||
'Siro is the safest and most reliable ride-sharing app designed especially for passengers in Syria. We provide a comfortable, respectful, and affordable riding experience with features that prioritize your safety and convenience. Our trusted captains are verified, insured, and supported by regular car maintenance carried out by top engineers. We also offer on-road support services to make sure every trip is smooth and worry-free. With Siro, you enjoy quality, safety, and peace of mind—every time you ride.'
|
||||
'Intaleq is the safest and most reliable ride-sharing app designed especially for passengers in Syria. We provide a comfortable, respectful, and affordable riding experience with features that prioritize your safety and convenience. Our trusted captains are verified, insured, and supported by regular car maintenance carried out by top engineers. We also offer on-road support services to make sure every trip is smooth and worry-free. With Intaleq, you enjoy quality, safety, and peace of mind—every time you ride.'
|
||||
.tr,
|
||||
style: TextStyle(
|
||||
color: isDark ? Colors.white70 : Colors.black54,
|
||||
|
||||
@@ -56,7 +56,7 @@ class FrequentlyQuestionsPage extends StatelessWidget {
|
||||
onTap: () => _showAnswerDialog(
|
||||
context,
|
||||
'How do I request a ride?'.tr,
|
||||
'Simply open the Siro app, enter your destination, and tap "Request Ride". The app will connect you with a nearby driver.'
|
||||
'Simply open the Intaleq app, enter your destination, and tap "Request Ride". The app will connect you with a nearby driver.'
|
||||
.tr,
|
||||
),
|
||||
),
|
||||
@@ -78,7 +78,7 @@ class FrequentlyQuestionsPage extends StatelessWidget {
|
||||
onTap: () => _showAnswerDialog(
|
||||
context,
|
||||
'What types of vehicles are available?'.tr,
|
||||
'Siro offers a variety of options including Economy, Comfort, and Luxury to suit your needs and budget.'
|
||||
'Intaleq offers a variety of options including Economy, Comfort, and Luxury to suit your needs and budget.'
|
||||
.tr,
|
||||
),
|
||||
),
|
||||
@@ -149,7 +149,7 @@ class FrequentlyQuestionsPage extends StatelessWidget {
|
||||
fontWeight: FontWeight.bold,
|
||||
color: Colors.indigo)),
|
||||
content: Text(
|
||||
'To register as a driver or learn about the requirements, please visit our website or contact Siro support directly.'
|
||||
'To register as a driver or learn about the requirements, please visit our website or contact Intaleq support directly.'
|
||||
.tr),
|
||||
actions: <CupertinoDialogAction>[
|
||||
CupertinoDialogAction(
|
||||
@@ -208,12 +208,12 @@ class FrequentlyQuestionsPage extends StatelessWidget {
|
||||
CupertinoIcons.shield_fill,
|
||||
color: Colors.teal,
|
||||
),
|
||||
title: Text('What safety measures does Siro offer?'.tr),
|
||||
title: Text('What safety measures does Intaleq offer?'.tr),
|
||||
trailing: const CupertinoListTileChevron(),
|
||||
onTap: () => _showAnswerDialog(
|
||||
context,
|
||||
'What safety measures does Siro offer?'.tr,
|
||||
'Siro 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.'
|
||||
'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,
|
||||
),
|
||||
),
|
||||
|
||||
@@ -744,7 +744,7 @@ class ShareAppPage extends StatelessWidget {
|
||||
padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 8),
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
onPressed: () {
|
||||
final appName = 'Siro';
|
||||
final appName = 'Intaleq';
|
||||
final shareText = 'Get a ride with $appName! Use my referral code: ${rc.referralCode} for a discount.\nDownload: ${AppLink.inviteRedirectUrl}?code=${rc.referralCode}&app=rider\n\n💡 Note: If the link is not clickable, save this number or reply to activate links!';
|
||||
Share.share(shareText);
|
||||
},
|
||||
|
||||
@@ -47,7 +47,7 @@ class ApplyOrderWidget extends StatelessWidget {
|
||||
bottom: isVisible ? 0 : -400,
|
||||
left: 0,
|
||||
right: 0,
|
||||
child: SiroSheetSurface(
|
||||
child: IntaleqSheetSurface(
|
||||
color: Theme.of(context).cardColor,
|
||||
padding: const EdgeInsets.fromLTRB(
|
||||
AppSpacing.lg, AppSpacing.sm, AppSpacing.lg, AppSpacing.lg),
|
||||
|
||||
@@ -142,7 +142,7 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
||||
// ── Drag Handle ──────────────────────────────────────
|
||||
const Padding(
|
||||
padding: EdgeInsets.only(top: AppSpacing.sm),
|
||||
child: SiroSheetHandle(),
|
||||
child: IntaleqSheetHandle(),
|
||||
),
|
||||
AppSpacing.vGapXs,
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ class CashConfirmPageShown extends StatelessWidget {
|
||||
// التحكم في ظهور اللوحة لم يتغير
|
||||
transform: Matrix4.translationValues(
|
||||
0, controller.isCashConfirmPageShown ? 0 : Get.height, 0),
|
||||
child: SiroSheetSurface(
|
||||
child: IntaleqSheetSurface(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
||||
@@ -319,7 +319,7 @@ class MapMenuWidget extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(width: 6),
|
||||
Text(
|
||||
"Siro Passenger".tr,
|
||||
"Intaleq Passenger".tr,
|
||||
style: TextStyle(
|
||||
color: _kTextMuted,
|
||||
fontSize: 12,
|
||||
@@ -384,9 +384,9 @@ class MapMenuWidget extends StatelessWidget {
|
||||
final String driverAppUrl;
|
||||
if (defaultTargetPlatform == TargetPlatform.android) {
|
||||
driverAppUrl =
|
||||
'https://play.google.com/store/apps/details?id=com.siro_driver';
|
||||
'https://play.google.com/store/apps/details?id=com.intaleq_driver';
|
||||
} else if (defaultTargetPlatform == TargetPlatform.iOS) {
|
||||
driverAppUrl = 'https://apps.apple.com/st/app/siro-driver/id6482995159';
|
||||
driverAppUrl = 'https://apps.apple.com/st/app/intaleq-driver/id6482995159';
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ class RideBeginPassenger extends StatelessWidget {
|
||||
bottom: isVisible ? 0 : -300,
|
||||
left: 0,
|
||||
right: 0,
|
||||
child: SiroSheetSurface(
|
||||
child: IntaleqSheetSurface(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: AppSpacing.lg, vertical: AppSpacing.md),
|
||||
child: Column(
|
||||
|
||||
@@ -50,7 +50,7 @@ class _SearchingCaptainWindowState extends State<SearchingCaptainWindow>
|
||||
left: 0,
|
||||
right: 0,
|
||||
// لا يوجد مقبض سحب: هذه الحالة لا تُغلق بالسحب بل بزر الإلغاء فقط
|
||||
child: SiroSheetSurface(
|
||||
child: IntaleqSheetSurface(
|
||||
showHandle: false,
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
|
||||
@@ -3,7 +3,6 @@ import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:intaleq_rider/views/home/my_wallet/payment_history_passenger_page.dart';
|
||||
import 'package:intaleq_rider/views/home/my_wallet/siro_prime_page.dart';
|
||||
import 'dart:ui'; // لاستخدام تأثيرات متقدمة
|
||||
|
||||
import '../../../constant/box_name.dart';
|
||||
@@ -18,6 +17,7 @@ import '../../../main.dart';
|
||||
import '../../widgets/elevated_btn.dart';
|
||||
import '../../widgets/my_scafold.dart';
|
||||
import 'passenger_wallet_dialoge.dart';
|
||||
import 'siro_prime_page.dart';
|
||||
|
||||
// --- الويدجت الرئيسية بالتصميم الجديد ---
|
||||
class PassengerWallet extends StatelessWidget {
|
||||
@@ -40,54 +40,54 @@ class PassengerWallet extends StatelessWidget {
|
||||
// استخدام Column لتنظيم المحتوى بشكل أفضل
|
||||
SingleChildScrollView(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: [
|
||||
const SizedBox(height: 16),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: [
|
||||
const SizedBox(height: 16),
|
||||
|
||||
// --- 1. بطاقة المحفظة العصرية ---
|
||||
_buildModernWalletCard(),
|
||||
// --- 1. بطاقة المحفظة العصرية ---
|
||||
_buildModernWalletCard(),
|
||||
|
||||
const SizedBox(height: 32),
|
||||
Text("Actions".tr,
|
||||
style: AppStyle.title.copyWith(
|
||||
color: AppColor.writeColor.withOpacity(0.6))),
|
||||
const Divider(height: 24),
|
||||
const SizedBox(height: 32),
|
||||
Text("Actions".tr,
|
||||
style: AppStyle.title.copyWith(
|
||||
color: AppColor.writeColor.withOpacity(0.6))),
|
||||
const Divider(height: 24),
|
||||
|
||||
// --- 2. قائمة الخيارات المنظمة ---
|
||||
_buildActionTile(
|
||||
icon: Icons.add_card_rounded,
|
||||
title: 'Top up Balance'.tr,
|
||||
subtitle: 'Add funds using our secure methods'.tr,
|
||||
onTap: () =>
|
||||
showPaymentBottomSheet(context), // نفس دالتك القديمة
|
||||
),
|
||||
_buildActionTile(
|
||||
icon: Icons.history_rounded,
|
||||
title: 'Payment History'.tr,
|
||||
subtitle: 'View your past transactions'.tr,
|
||||
onTap: () => Get.to(
|
||||
() => const PaymentHistoryPassengerPage(),
|
||||
transition: Transition.rightToLeftWithFade),
|
||||
),
|
||||
_buildActionTile(
|
||||
icon: Icons.phone_iphone_rounded,
|
||||
title: 'Set Phone Number'.tr,
|
||||
subtitle: 'Link a phone number for transfers'.tr,
|
||||
onTap: () => _showWalletPhoneDialog(context,
|
||||
Get.find<PaymentController>()), // نفس دالتك القديمة
|
||||
),
|
||||
// --- 2. قائمة الخيارات المنظمة ---
|
||||
_buildActionTile(
|
||||
icon: Icons.add_card_rounded,
|
||||
title: 'Top up Balance'.tr,
|
||||
subtitle: 'Add funds using our secure methods'.tr,
|
||||
onTap: () =>
|
||||
showPaymentBottomSheet(context), // نفس دالتك القديمة
|
||||
),
|
||||
_buildActionTile(
|
||||
icon: Icons.history_rounded,
|
||||
title: 'Payment History'.tr,
|
||||
subtitle: 'View your past transactions'.tr,
|
||||
onTap: () => Get.to(
|
||||
() => const PaymentHistoryPassengerPage(),
|
||||
transition: Transition.rightToLeftWithFade),
|
||||
),
|
||||
_buildActionTile(
|
||||
icon: Icons.phone_iphone_rounded,
|
||||
title: 'Set Phone Number'.tr,
|
||||
subtitle: 'Link a phone number for transfers'.tr,
|
||||
onTap: () => _showWalletPhoneDialog(context,
|
||||
Get.find<PaymentController>()), // نفس دالتك القديمة
|
||||
),
|
||||
|
||||
// 👑 Siro Prime Banner
|
||||
const SizedBox(height: 8),
|
||||
_buildPrimeBanner(),
|
||||
],
|
||||
// 👑 Intaleq Prime Banner
|
||||
const SizedBox(height: 8),
|
||||
_buildPrimeBanner(),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
// --- عرض الـ Dialog بنفس طريقتك القديمة ---
|
||||
// --- عرض الـ Dialog بنفس طريقتك القديمة ---
|
||||
const PassengerWalletDialog(),
|
||||
],
|
||||
),
|
||||
@@ -266,14 +266,14 @@ class PassengerWallet extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
|
||||
// 👑 Siro Prime Banner Widget
|
||||
// 👑 Intaleq Prime Banner Widget
|
||||
Widget _buildPrimeBanner() {
|
||||
return GetBuilder<PrimeController>(
|
||||
builder: (ctrl) {
|
||||
final bool isPrime = ctrl.isPrime;
|
||||
return GestureDetector(
|
||||
onTap: () => Get.to(
|
||||
() => const SiroPrimePage(),
|
||||
() => const IntaleqPrimePage(),
|
||||
transition: Transition.rightToLeftWithFade,
|
||||
),
|
||||
child: Container(
|
||||
@@ -313,7 +313,9 @@ class PassengerWallet extends StatelessWidget {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
isPrime ? 'Siro Prime Active'.tr : 'Siro Prime'.tr,
|
||||
isPrime
|
||||
? 'Intaleq Prime Active'.tr
|
||||
: 'Intaleq Prime'.tr,
|
||||
style: const TextStyle(
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.bold,
|
||||
@@ -324,7 +326,8 @@ class PassengerWallet extends StatelessWidget {
|
||||
Text(
|
||||
isPrime
|
||||
? '${'Valid until'.tr}: ${ctrl.expireAt?.substring(0, 10) ?? ''}'
|
||||
: 'No surge pricing. Priority rides. Tap to learn more.'.tr,
|
||||
: 'No surge pricing. Priority rides. Tap to learn more.'
|
||||
.tr,
|
||||
style: TextStyle(
|
||||
color: Colors.white.withOpacity(0.8),
|
||||
fontSize: 12,
|
||||
@@ -346,4 +349,4 @@ class PassengerWallet extends StatelessWidget {
|
||||
}
|
||||
}
|
||||
|
||||
// الكلاس القديم CardSiroWallet لم نعد بحاجة إليه لأنه تم دمجه وتطويره
|
||||
// الكلاس القديم CardIntaleqWallet لم نعد بحاجة إليه لأنه تم دمجه وتطويره
|
||||
|
||||
@@ -7,14 +7,14 @@ import 'package:intaleq_rider/controller/payment/prime_controller.dart';
|
||||
import 'package:intaleq_rider/main.dart';
|
||||
import 'dart:math' as math;
|
||||
|
||||
class SiroPrimePage extends StatefulWidget {
|
||||
const SiroPrimePage({super.key});
|
||||
class IntaleqPrimePage extends StatefulWidget {
|
||||
const IntaleqPrimePage({super.key});
|
||||
|
||||
@override
|
||||
State<SiroPrimePage> createState() => _SiroPrimePageState();
|
||||
State<IntaleqPrimePage> createState() => _IntaleqPrimePageState();
|
||||
}
|
||||
|
||||
class _SiroPrimePageState extends State<SiroPrimePage>
|
||||
class _IntaleqPrimePageState extends State<IntaleqPrimePage>
|
||||
with TickerProviderStateMixin {
|
||||
late AnimationController _shimmerController;
|
||||
late AnimationController _pulseController;
|
||||
@@ -225,7 +225,7 @@ class _SiroPrimePageState extends State<SiroPrimePage>
|
||||
],
|
||||
).createShader(bounds),
|
||||
child: const Text(
|
||||
'SIRO PRIME',
|
||||
'INTALEQ PRIME',
|
||||
style: TextStyle(
|
||||
fontSize: 30,
|
||||
fontWeight: FontWeight.w900,
|
||||
|
||||
@@ -145,7 +145,7 @@ class ComplaintPage extends StatelessWidget {
|
||||
ListTile(
|
||||
leading: const Icon(Icons.support_agent_outlined,
|
||||
color: AppColor.primaryColor),
|
||||
title: Text("Siro's Response".tr,
|
||||
title: Text("Intaleq's Response".tr,
|
||||
style: AppStyle.title),
|
||||
subtitle: Text(
|
||||
// --- تعديل هنا لعرض الرد من الخادم ---
|
||||
|
||||
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
||||
|
||||
/// CompetitorPriceBadge
|
||||
/// ─────────────────────
|
||||
/// ويدجت يعرض مقارنة ذكية بين سعر سيرو وسعر المنافسين.
|
||||
/// ويدجت يعرض مقارنة ذكية بين سعر انطلق وسعر المنافسين.
|
||||
/// يُستخدم في شاشة عرض الأسعار (bottomSheet) ويظهر فقط إذا توفرت
|
||||
/// بيانات المنافسين من API (has_competitor_data = true).
|
||||
class CompetitorPriceBadge extends StatelessWidget {
|
||||
|
||||
Reference in New Issue
Block a user