import 'package:sefer_driver/constant/style.dart'; import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart'; import 'package:sefer_driver/views/auth/captin/criminal_documents_page.dart'; import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import 'package:sefer_driver/views/widgets/mycircular.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:sefer_driver/controller/profile/captain_profile_controller.dart'; import 'package:sefer_driver/views/widgets/my_scafold.dart'; import '../my_wallet/walet_captain.dart'; import 'captains_cars.dart'; class ProfileCaptain extends StatelessWidget { ProfileCaptain({super.key}); CaptainWalletController captainWalletController = CaptainWalletController(); @override Widget build(BuildContext context) { Get.put(CaptainProfileController()); return MyScafolld( title: 'My Profile'.tr, body: [ GetBuilder( builder: (controller) => Padding( padding: const EdgeInsets.all(16.0), child: SingleChildScrollView( child: Center( child: controller.isLoading ? const MyCircularProgressIndicator() : Column( children: [ Material( elevation: 2, borderRadius: BorderRadius.circular(8), child: InkWell( onTap: () async { addBankCodeEgypt(captainWalletController); }, borderRadius: BorderRadius.circular(8), child: Padding( padding: const EdgeInsets.symmetric( vertical: 16, horizontal: 16), child: Text( 'Add bank Account'.tr, style: AppStyle.title, ), ), ), ), const SizedBox(height: 15), Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ MyElevatedButton( title: 'Show my Cars'.tr, onPressed: () async { Get.to(() => CaptainsCars()); }, ), // const SizedBox(height: 15), MyElevatedButton( title: 'Add criminal page'.tr, onPressed: () async { Get.to(() => CriminalDocumemtPage()); }, ), ], ), SizedBox( height: Get.height * .7, child: DriverProfileCard( driverId: controller.captainProfileData['driverID'] ?? '', name: controller .captainProfileData['first_name'] + ' ' + (controller.captainProfileData['last_name'] ?? ''), phoneNumber: controller.captainProfileData['phone'] ?? '', email: controller.captainProfileData['email'] ?? '', birthdate: controller.captainProfileData['birthdate'] ?? '', gender: controller.captainProfileData['gender'] ?? '', education: controller.captainProfileData['education'] ?? '', carMake: controller.captainProfileData['make'] ?? '', carModel: controller.captainProfileData['model'] ?? '', carPlate: controller.captainProfileData['car_plate'] ?? '', carColor: controller.captainProfileData['color'] ?? '', vin: controller.captainProfileData['vin'] ?? '', registrationDate: controller.captainProfileData[ 'registration_date'] ?? '', expirationDate: controller .captainProfileData['expiration_date'] ?? '', ratingCount: controller .captainProfileData['ratingCount'] ?? 0, ratingDriver: controller .captainProfileData['ratingDriver'] != null ? double.tryParse(controller .captainProfileData['ratingDriver'] .toString()) ?? 0 : null, age: controller.captainProfileData['age'] ?? 0, ), ), ], ), ), ), ), ) ], isleading: true, ); } } class DriverProfileCard extends StatelessWidget { final String driverId; final String name; final String phoneNumber; final String email; final String birthdate; final String gender; final String education; final String carMake; final String carModel; final String carPlate; final String carColor; final String vin; final String registrationDate; final String expirationDate; final int ratingCount; final double? ratingDriver; final int age; DriverProfileCard({ required this.driverId, required this.name, required this.phoneNumber, required this.email, required this.birthdate, required this.gender, required this.education, required this.carMake, required this.carModel, required this.carPlate, required this.carColor, required this.vin, required this.registrationDate, required this.expirationDate, required this.ratingCount, required this.ratingDriver, required this.age, }); @override Widget build(BuildContext context) { return Container( // elevation: 8, decoration: AppStyle.boxDecoration1, margin: const EdgeInsets.all(16), child: SingleChildScrollView( child: Padding( padding: const EdgeInsets.all(16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( style: AppStyle.title, name, ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.phone), const SizedBox(width: 8), Text(style: AppStyle.title, phoneNumber), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.calendar_today), const SizedBox(width: 8), Text( style: AppStyle.title, '${'birthdate'.tr} : $birthdate', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.wc), const SizedBox(width: 8), Text( style: AppStyle.title, '${'gender'.tr} : $gender', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.school), const SizedBox(width: 8), Text( style: AppStyle.title, '${'education'.tr} : $education', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.car_repair), const SizedBox(width: 8), Text( style: AppStyle.title, '${'Make'.tr} : $carMake', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.model_training), const SizedBox(width: 8), Text( style: AppStyle.title, '${'car_model'.tr} : $carModel', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.drive_eta), const SizedBox(width: 8), Text( style: AppStyle.title, '${'car_plate'.tr} : $carPlate', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.color_lens), const SizedBox(width: 8), Text( style: AppStyle.title, '${'car_color'.tr} : $carColor', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.confirmation_number), const SizedBox(width: 8), Text( style: AppStyle.title, '${'vin'.tr} : $vin', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.calendar_today), const SizedBox(width: 8), Text( style: AppStyle.title, '${'registration_date'.tr} : $registrationDate', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.calendar_today), const SizedBox(width: 8), Text( style: AppStyle.title, '${'expiration_date'.tr} : $expirationDate', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.star), const SizedBox(width: 8), Text( style: AppStyle.title, '${'rating_count'.tr} : $ratingCount', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.star_rate), const SizedBox(width: 8), ratingDriver != null ? Text( style: AppStyle.title, '${'rating_driver'.tr} : $ratingDriver', ) : Text( style: AppStyle.title, '${'rating_driver'.tr} : 0', ), ], ), const SizedBox(height: 8), Row( children: [ const Icon(Icons.person), const SizedBox(width: 8), Text( style: AppStyle.title, '${'age'.tr} : $age', ), ], ), ], ), ), ), ); } }