إضافة الهوية الجديدة Tripz
This commit is contained in:
@@ -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';
|
||||
|
||||
+24
-12
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user