إضافة الهوية الجديدة Tripz

This commit is contained in:
Hamza-Ayed
2026-07-29 02:31:04 +03:00
parent ecbe245b77
commit b9a97effe5
634 changed files with 5149 additions and 5294 deletions
@@ -3,30 +3,30 @@ import 'dart:io';
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/statistics_dashboard.dart';
import 'package:siro_driver/views/gamification/challenges_page.dart';
import 'package:siro_driver/views/gamification/leaderboard_page.dart';
import 'package:siro_driver/views/gamification/referral_center_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/statistics_dashboard.dart';
import 'package:tripz_driver/views/gamification/challenges_page.dart';
import 'package:tripz_driver/views/gamification/leaderboard_page.dart';
import 'package:tripz_driver/views/gamification/referral_center_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 '../About Us/video_page.dart';
@@ -321,7 +321,7 @@ class UserHeader extends StatelessWidget {
shadows: [Shadow(blurRadius: 2, color: Colors.black26)]),
),
accountEmail:
box.read(BoxName.emailDriver).toString().contains('siroapp')
box.read(BoxName.emailDriver).toString().contains('tripzapp')
? Text('Your email not updated yet'.tr)
: Text(box.read(BoxName.emailDriver)),
currentAccountPicture: GetBuilder<ImageController>(
@@ -1,7 +1,7 @@
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 'package:flutter/cupertino.dart';
@@ -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';
@@ -115,7 +115,8 @@ class HomeCaptain extends StatelessWidget {
const Center(
child: Padding(
padding: EdgeInsets.only(bottom: 24),
child: Icon(Icons.pin_drop_rounded, size: 48, color: Colors.red),
child: Icon(Icons.pin_drop_rounded,
size: 48, color: Colors.red),
),
),
Positioned(
@@ -124,7 +125,8 @@ class HomeCaptain extends StatelessWidget {
right: 20,
child: Card(
color: _Token.surfaceCard(context),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16)),
elevation: 10,
child: Padding(
padding: const EdgeInsets.all(16),
@@ -133,7 +135,8 @@ class HomeCaptain extends StatelessWidget {
children: [
Text(
'Move map to select destination'.tr,
style: const TextStyle(fontWeight: FontWeight.bold),
style:
const TextStyle(fontWeight: FontWeight.bold),
),
const SizedBox(height: 12),
Row(
@@ -141,10 +144,13 @@ class HomeCaptain extends StatelessWidget {
Expanded(
child: TextButton(
onPressed: () {
destCtrl.isSelectingDestinationOnMap = false;
destCtrl.isSelectingDestinationOnMap =
false;
destCtrl.update();
},
child: Text('Cancel'.tr, style: const TextStyle(color: Colors.grey)),
child: Text('Cancel'.tr,
style: const TextStyle(
color: Colors.grey)),
),
),
const SizedBox(width: 12),
@@ -152,19 +158,30 @@ class HomeCaptain extends StatelessWidget {
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: AppColor.primaryColor,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(10)),
),
onPressed: () async {
final pickerPos = homeCaptainController.currentCameraPosition?.target ??
homeCaptainController.mapHomeCaptainController?.cameraPosition?.target;
final pickerPos = homeCaptainController
.currentCameraPosition?.target ??
homeCaptainController
.mapHomeCaptainController
?.cameraPosition
?.target;
if (pickerPos != null) {
destCtrl.isSelectingDestinationOnMap = false;
destCtrl.isSelectingDestinationOnMap =
false;
destCtrl.update();
final name = await destCtrl.reverseGeocode(pickerPos);
destCtrl.saveDestination(pickerPos, name);
final name = await destCtrl
.reverseGeocode(pickerPos);
destCtrl.saveDestination(
pickerPos, name);
}
},
child: Text('Confirm Location'.tr, style: const TextStyle(color: Colors.white)),
child: Text('Confirm Location'.tr,
style: const TextStyle(
color: Colors.white)),
),
),
],
@@ -24,7 +24,8 @@ class OsmMapView extends StatelessWidget {
final double currentHeading = locationController.heading;
final cityPolygon = CountryLogic.getCurrentCityPolygon();
final bool inServiceArea = CountryLogic.isPointInPolygon(currentLocation, cityPolygon);
final bool inServiceArea =
CountryLogic.isPointInPolygon(currentLocation, cityPolygon);
return Stack(
children: [
@@ -65,12 +66,16 @@ class OsmMapView extends StatelessWidget {
left: 20,
right: 20,
child: Container(
padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16),
padding:
const EdgeInsets.symmetric(vertical: 12, horizontal: 16),
decoration: BoxDecoration(
color: Colors.redAccent.withOpacity(0.9),
borderRadius: BorderRadius.circular(12),
boxShadow: const [
BoxShadow(color: Colors.black26, blurRadius: 4, offset: Offset(0, 2))
BoxShadow(
color: Colors.black26,
blurRadius: 4,
offset: Offset(0, 2))
],
),
child: const Row(
@@ -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});
@@ -67,7 +67,9 @@ class DestinationBottomSheet extends StatelessWidget {
init: Get.find<TextToSpeechController>(),
builder: (tts) => IconButton(
icon: Icon(
tts.isSpeaking ? Icons.volume_up_rounded : Icons.volume_mute_rounded,
tts.isSpeaking
? Icons.volume_up_rounded
: Icons.volume_mute_rounded,
color: AppColor.primaryColor,
size: 26,
),
@@ -109,10 +111,12 @@ class DestinationBottomSheet extends StatelessWidget {
side: BorderSide(color: Colors.green.withOpacity(0.3)),
),
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 12),
padding: const EdgeInsets.symmetric(
horizontal: 14, vertical: 12),
child: Row(
children: [
const Icon(Icons.check_circle_rounded, color: Colors.green, size: 22),
const Icon(Icons.check_circle_rounded,
color: Colors.green, size: 22),
const SizedBox(width: 10),
Expanded(
child: Column(
@@ -163,7 +167,8 @@ class DestinationBottomSheet extends StatelessWidget {
fillColor: Theme.of(context).brightness == Brightness.dark
? const Color(0xFF202B4B)
: Colors.grey.withOpacity(0.1),
contentPadding: const EdgeInsets.symmetric(vertical: 14, horizontal: 16),
contentPadding: const EdgeInsets.symmetric(
vertical: 14, horizontal: 16),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(14),
borderSide: BorderSide.none,
@@ -190,21 +195,28 @@ class DestinationBottomSheet extends StatelessWidget {
itemBuilder: (context, index) {
final place = c.placesSuggestions[index];
return ListTile(
leading: const Icon(Icons.place_rounded, color: Colors.grey),
leading: const Icon(Icons.place_rounded,
color: Colors.grey),
title: Text(
place['name'] ?? "",
style: const TextStyle(fontSize: 13),
),
subtitle: Text(
place['description'] ?? "",
style: const TextStyle(fontSize: 11, color: Colors.grey),
style: const TextStyle(
fontSize: 11, color: Colors.grey),
),
onTap: () {
FocusScope.of(context).unfocus();
Get.back(); // Close sheet
final lat = double.tryParse(place['latitude']?.toString() ?? '0') ?? 0.0;
final lng = double.tryParse(place['longitude']?.toString() ?? '0') ?? 0.0;
c.saveDestination(LatLng(lat, lng), place['name'] ?? 'Destination');
final lat = double.tryParse(
place['latitude']?.toString() ?? '0') ??
0.0;
final lng = double.tryParse(
place['longitude']?.toString() ?? '0') ??
0.0;
c.saveDestination(LatLng(lat, lng),
place['name'] ?? 'Destination');
},
);
},
@@ -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/statistics_dashboard.dart';
import 'package:tripz_driver/views/home/statistics/statistics_dashboard.dart';
// ─────────────────────────────────────────────
// Design Tokens (Responsive)