import 'package:Intaleq/constant/box_name.dart'; import 'package:Intaleq/controller/firebase/firbase_messge.dart'; import 'package:Intaleq/controller/firebase/notification_service.dart'; import 'package:Intaleq/main.dart'; import 'package:flutter/material.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'dart:ui'; // مهم لإضافة تأثير الضبابية import '../../../constant/colors.dart'; import '../../../controller/functions/encrypt_decrypt.dart'; import '../../../controller/functions/tts.dart'; import '../../../controller/home/map_passenger_controller.dart'; import '../../../controller/home/vip_waitting_page.dart'; import '../../../env/env.dart'; import '../../../print.dart'; // --- الدالة الرئيسية بالتصميم الجديد --- GetBuilder leftMainMenuIcons() { Get.put(TextToSpeechController()); return GetBuilder( builder: (controller) => Positioned( // تم تعديل الموضع ليتناسب مع التصميم الجديد top: Get.height * .01, left: 0, right: 0, child: Center( child: ClipRRect( borderRadius: BorderRadius.circular(50.0), // لإنشاء شكل الكبسولة child: BackdropFilter( filter: ImageFilter.blur( sigmaX: 8.0, sigmaY: 8.0), // تأثير الزجاج المصنفر child: AnimatedContainer( duration: const Duration(milliseconds: 300), padding: const EdgeInsets.symmetric(horizontal: 8), decoration: BoxDecoration( color: AppColor.secondaryColor.withOpacity(0.8), // لون شبه شفاف borderRadius: BorderRadius.circular(50.0), border: Border.all(color: AppColor.writeColor.withOpacity(0.2)), ), child: Row( mainAxisAlignment: MainAxisAlignment.center, mainAxisSize: MainAxisSize.min, // ليأخذ الشريط حجم الأزرار فقط children: [ // --- تم استخدام دالة مساعدة جديدة للزر --- _buildMapActionButton( icon: Icons.satellite_alt_outlined, tooltip: 'Toggle Map Type', onPressed: () => controller.changeMapType(), ), _buildVerticalDivider(), _buildMapActionButton( icon: Icons.traffic_outlined, tooltip: 'Toggle Traffic', onPressed: () => controller.changeMapTraffic(), ), _buildVerticalDivider(), _buildMapActionButton( icon: Icons.my_location_rounded, tooltip: 'Go to My Location', onPressed: () { controller.mapController?.animateCamera( CameraUpdate.newLatLng( LatLng( controller.passengerLocation.latitude, controller.passengerLocation.longitude, ), ), ); }, ), _buildVerticalDivider(), _buildMapActionButton( icon: Octicons.watch, tooltip: 'VIP Waiting Page', onPressed: () => Get.to(() => VipWaittingPage()), ), _buildMapActionButton( icon: Octicons.ellipsis, tooltip: 'test', onPressed: () => Get.to(() => TestPage()), ), ], ), ), ), ), ), ), ); } // --- دالة مساعدة جديدة لإنشاء الأزرار بشكل أنيق --- Widget _buildMapActionButton({ required IconData icon, required String tooltip, required VoidCallback onPressed, }) { return IconButton( onPressed: onPressed, icon: Icon(icon, color: AppColor.writeColor, size: 22), tooltip: tooltip, splashRadius: 22, padding: const EdgeInsets.all(12), constraints: const BoxConstraints(), // لإزالة المساحات الافتراضية ); } // --- ويدجت للفاصل الرأسي بين الأزرار --- Widget _buildVerticalDivider() { return Container( height: 20, width: 1, color: AppColor.writeColor.withOpacity(0.2), ); } // --- باقي الكود الخاص بك يبقى كما هو بدون تغيير --- class TestPage extends StatelessWidget { const TestPage({ super.key, }); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(), body: Center( child: TextButton( onPressed: () async { var token = (box.read(BoxName.tokenFCM).toString()); Log.print( 'box.read(BoxName.tokenFCM).toString(): ${box.read(BoxName.tokenFCM).toString()}'); // 'e-EE5Z5Fn0x5s6EYbtgT6f:APA91bHBTxkbdljuvDF0iPhso58r7fCwGh-WcYh3CYfUJEShUKFcQf496Xc5E6LHqRFKfOQBxYrWSdLO8d9gLbL-IdgyDuZ7jNUjzvrcV_YmagDtgz7-UNw'; // 'fdN1o8akwURHj47wvShC4T:APA91bFm-mFfFjdCbHsDReN0MzPE1hiaHKtPJnzayMec6LiInjzk6YCX41SeF0T1FE7Z6d4Hjy1AkZhLIeebSgX4RrodzwSwZSH0kboTQEfqkrjrk4xw9aM'; NotificationService.sendNotification( target: token, title: 'Hi ,I will go now'.tr, body: 'A passenger is waiting for you.', isTopic: false, // Important: this is a token tone: 'ding', ); }, child: Text( "Text Button", ), ), ), ); } }