Update: 2026-07-03 01:48:00

This commit is contained in:
Hamza-Ayed
2026-07-03 01:48:00 +03:00
parent 8f59189832
commit 5ce6c00905
13 changed files with 1119 additions and 12 deletions
@@ -3,6 +3,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_rider/views/home/my_wallet/payment_history_passenger_page.dart';
import 'package:siro_rider/views/home/my_wallet/siro_prime_page.dart';
import 'dart:ui'; // لاستخدام تأثيرات متقدمة
import '../../../constant/box_name.dart';
@@ -12,6 +13,7 @@ import '../../../constant/style.dart';
import '../../../controller/functions/toast.dart';
import '../../../controller/home/payment/credit_card_controller.dart';
import '../../../controller/payment/payment_controller.dart';
import '../../../controller/payment/prime_controller.dart';
import '../../../main.dart';
import '../../widgets/elevated_btn.dart';
import '../../widgets/my_scafold.dart';
@@ -26,6 +28,7 @@ class PassengerWallet extends StatelessWidget {
// نفس منطق استدعاء الكنترولرز
Get.put(PaymentController());
Get.put(CreditCardController());
Get.put(PrimeController());
return MyScafolld(
title: 'My Balance'.tr,
@@ -75,6 +78,10 @@ class PassengerWallet extends StatelessWidget {
onTap: () => _showWalletPhoneDialog(context,
Get.find<PaymentController>()), // نفس دالتك القديمة
),
// 👑 Siro Prime Banner
const SizedBox(height: 8),
_buildPrimeBanner(),
],
),
),
@@ -258,6 +265,85 @@ class PassengerWallet extends StatelessWidget {
barrierDismissible: false,
);
}
// 👑 Siro Prime Banner Widget
Widget _buildPrimeBanner() {
return GetBuilder<PrimeController>(
builder: (ctrl) {
final bool isPrime = ctrl.isPrime;
return GestureDetector(
onTap: () => Get.to(
() => const SiroPrimePage(),
transition: Transition.rightToLeftWithFade,
),
child: Container(
margin: const EdgeInsets.only(bottom: 16),
padding: const EdgeInsets.all(20),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
gradient: LinearGradient(
colors: isPrime
? [const Color(0xFF7C3AED), const Color(0xFFDB2777)]
: [const Color(0xFF1E1E2E), const Color(0xFF2A2A3E)],
begin: Alignment.topLeft,
end: Alignment.bottomRight,
),
boxShadow: [
BoxShadow(
color: (isPrime ? const Color(0xFF7C3AED) : Colors.black)
.withOpacity(0.35),
blurRadius: 20,
offset: const Offset(0, 8),
),
],
),
child: Row(
children: [
Container(
padding: const EdgeInsets.all(10),
decoration: BoxDecoration(
color: Colors.white.withOpacity(0.15),
shape: BoxShape.circle,
),
child: const Text('👑', style: TextStyle(fontSize: 24)),
),
const SizedBox(width: 16),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
isPrime ? 'Siro Prime Active'.tr : 'Siro Prime'.tr,
style: const TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 16,
),
),
const SizedBox(height: 4),
Text(
isPrime
? '${'Valid until'.tr}: ${ctrl.expireAt?.substring(0, 10) ?? ''}'
: 'No surge pricing. Priority rides. Tap to learn more.'.tr,
style: TextStyle(
color: Colors.white.withOpacity(0.8),
fontSize: 12,
),
),
],
),
),
Icon(
isPrime ? Icons.verified : Icons.chevron_right,
color: Colors.white.withOpacity(0.8),
),
],
),
),
);
},
);
}
}
// الكلاس القديم CardSiroWallet لم نعد بحاجة إليه لأنه تم دمجه وتطويره