import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:service/constant/colors.dart'; import 'package:service/constant/links.dart'; import 'package:service/controller/functions/crud.dart'; import 'package:service/controller/mainController/main_controller.dart'; import 'package:service/controller/mainController/pages/best_driver_page.dart'; import 'package:service/controller/mainController/pages/complaint.dart'; import 'package:service/controller/mainController/pages/edit_car_plate.dart'; import 'package:service/controller/mainController/pages/passengers_cant_regster.dart'; import 'package:service/views/widgets/elevated_btn.dart'; import 'package:service/views/widgets/my_dialog.dart'; import 'package:service/views/widgets/my_textField.dart'; import '../../constant/style.dart'; import '../../controller/mainController/pages/add_car.dart'; import '../../controller/mainController/pages/contact_page.dart'; import '../../controller/mainController/pages/drivers_cant_register.dart'; import '../../controller/mainController/pages/welcome_call.dart'; import '../widgets/my_scafold.dart'; class Main extends StatelessWidget { Main({super.key}); MainController mainController = Get.put(MainController()); @override Widget build(BuildContext context) { return MyScaffold(title: 'Sefer Service'.tr, isleading: false, body: [ ListView( children: [ InkWell( onTap: () { MyDialog().getDialog( 'insert passenger phone'.tr, 'midTitle', Column( children: [ Form( key: mainController.formKey, child: MyTextForm( controller: mainController.passengerPhoneController, label: 'insert passenger phone'.tr, hint: 'insert passenger phone'.tr, type: TextInputType.phone, )), ], ), () { mainController.searchPassengerByPhone(); }, ); }, child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( 'passenger details by phone'.tr, style: AppStyle.title, textAlign: TextAlign.center, ), ), ), ), const SizedBox( height: 20, ), InkWell( onTap: () { MyDialog().getDialog( 'insert Driver phone'.tr, 'midTitle', Column( children: [ Form( key: mainController.formKey, child: MyTextForm( controller: mainController.driverPhoneController, label: 'insert Driver phone'.tr, hint: 'insert Driver phone'.tr, type: TextInputType.phone, )), ], ), () { mainController.searchDriverByPhone(); }, ); }, child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( 'Driver details by phone'.tr, style: AppStyle.title, textAlign: TextAlign.center, ), ), ), ), const SizedBox( height: 20, ), InkWell( onTap: () async { await mainController.getDriverNotCompleteRegistration(); Get.to(() => DriversCantRegister()); }, child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( 'Drivers Cant Register'.tr, style: AppStyle.title, textAlign: TextAlign.center, ), ), ), ), const SizedBox( height: 20, ), InkWell( onTap: () async { await mainController.getPassengerNotCompleteRegistration(); Get.to(() => PassengersCantRegister()); }, child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( 'Passengers Cant Register'.tr, style: AppStyle.title, textAlign: TextAlign.center, ), ), ), ), const SizedBox( height: 20, ), InkWell( onTap: () async { await mainController.getdriverWithoutCar(); if (mainController.driverWithoutCar.isNotEmpty) { Get.to(() => const AddCar()); } }, child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( 'Add car'.tr, style: AppStyle.title, textAlign: TextAlign.center, ), ), ), ), InkWell( onTap: () async { await mainController.getCarPlateNotEdit(); if (mainController.carPlateNotEdit.isNotEmpty) { Get.to(() => const EditCarPlate()); } }, child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( 'Edit car plate'.tr, style: AppStyle.title, textAlign: TextAlign.center, ), ), ), ), const SizedBox( height: 20, ), InkWell( onTap: () async { // await mainController.getCarPlateNotEdit(); // if (mainController.carPlateNotEdit.isNotEmpty) { Get.to(() => const Complaint()); // } }, child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( "View complaint".tr, style: AppStyle.title, textAlign: TextAlign.center, ), ), ), ), const SizedBox( height: 20, ), InkWell( onTap: () async { await mainController.getNewDriverRegister(); // if (mainController.carPlateNotEdit.isNotEmpty) { Get.to(() => const WelcomeCall()); // } }, child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( "Welcome call".tr, style: AppStyle.title, textAlign: TextAlign.center, ), ), ), ), const SizedBox( height: 20, ), InkWell( onTap: () async { await mainController.getNewDriverRegister(); // if (mainController.carPlateNotEdit.isNotEmpty) { Get.to(() => DriverTheBest()); // } }, child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( "best driver".tr, style: AppStyle.title, textAlign: TextAlign.center, ), ), ), ), const SizedBox( height: 20, ), InkWell( onTap: () async { Get.defaultDialog( barrierDismissible: false, title: "Add Driver Who Wants to Work".tr, content: SizedBox( width: Get.width * .7, height: 300, child: Form( key: mainController.formKey, child: ListView( children: [ MyTextForm( controller: mainController.driverNameController, label: 'Insert Name of Driver'.tr, hint: 'Insert Name of Driver'.tr, type: TextInputType.name), MyTextForm( controller: mainController.nationalIdController, label: 'Insert national ID of Driver'.tr, hint: 'Insert national ID of Driver'.tr, type: TextInputType.number), MyTextForm( controller: mainController.phoneController, label: 'Insert phone of Driver'.tr, hint: 'Insert phone of Driver'.tr, type: TextInputType.phone), MyTextForm( controller: mainController.licenseTypeController, label: 'Insert license type of Driver'.tr, hint: 'Insert license type of Driver'.tr, type: TextInputType.name), MyTextForm( controller: mainController.siteDriverController, label: 'Insert site of Driver'.tr, hint: 'Insert site of Driver'.tr, type: TextInputType.name), MyTextForm( controller: mainController.birthDateController, label: 'Insert birth_date of Driver'.tr, hint: 'Insert license type of Driver'.tr, type: TextInputType.number), ], )), ), confirm: MyElevatedButton( title: 'Add'.tr, onPressed: () async { if (mainController.formKey.currentState!.validate()) { var res = await CRUD() .post(link: AppLink.addDriverWantWork, payload: { "driver_name": mainController.driverNameController.text, "national_id": mainController.nationalIdController.text, "birth_date": mainController.birthDateController.text, "site": mainController.siteDriverController.text, "license_type": mainController.licenseTypeController.text, "phone": mainController.phoneController.text, }); if (res != 'failure') { Get.back(); mainController.driverNameController.clear(); mainController.nationalIdController.clear(); mainController.birthDateController.clear(); mainController.licenseTypeController.clear(); mainController.siteDriverController.clear(); mainController.phoneController.clear(); Get.snackbar('done', '', backgroundColor: AppColor.greenColor); } } }, kolor: AppColor.greenColor, ), cancel: MyElevatedButton( title: 'Cancel'.tr, kolor: AppColor.redColor, onPressed: () { Get.back(); }), ); }, child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( "Add Driver Who Wants to Work".tr, style: AppStyle.title, textAlign: TextAlign.center, ), ), ), ), const SizedBox( height: 20, ), InkWell( onTap: () async { Get.defaultDialog( barrierDismissible: false, title: "Add Car Who Wants to Work".tr, content: SizedBox( width: Get.width * .7, height: 300, child: Form( key: mainController.formKey, child: ListView( children: [ MyTextForm( controller: mainController.carOwnerWorkController, label: 'Insert Name of Owner'.tr, hint: 'Insert Name of Owner'.tr, type: TextInputType.name), MyTextForm( controller: mainController.carNumberController, label: 'Insert car_number of Driver'.tr, hint: 'Insert car_number of Driver'.tr, type: TextInputType.name), MyTextForm( controller: mainController.phoneCarController, label: 'Insert phone of Owner'.tr, hint: 'Insert phone of Owner'.tr, type: TextInputType.phone), MyTextForm( controller: mainController.manufactureYearController, label: 'Insert year of Car'.tr, hint: 'Insert year of Car'.tr, type: TextInputType.number), MyTextForm( controller: mainController.carModelController, label: 'Insert car_model of Driver'.tr, hint: 'Insert car_model of Driver'.tr, type: TextInputType.name), MyTextForm( controller: mainController.siteCarController, label: 'Insert site of Owner'.tr, hint: 'Insert site of Owner'.tr, type: TextInputType.name), MyTextForm( controller: mainController.carTypeController, label: 'Insert car_type of Driver'.tr, hint: 'Insert car_type of Driver'.tr, type: TextInputType.name), MyTextForm( controller: mainController.registrationDateController, label: 'Insert registration_date of Car'.tr, hint: 'Insert registration_date of Car'.tr, type: TextInputType.datetime), ], )), ), confirm: MyElevatedButton( title: 'Add'.tr, onPressed: () async { if (mainController.formKey.currentState!.validate()) { var res = await CRUD() .post(link: AppLink.addCarWantWork, payload: { "owner_name": mainController.carOwnerWorkController.text, "car_number": mainController.carNumberController.text, "manufacture_year": mainController.manufactureYearController.text, "car_model": mainController.carModelController.text, "car_type": mainController.carTypeController.text, "site": mainController.siteCarController.text, "registration_date": mainController.registrationDateController.text, "phone": mainController.phoneCarController.text, }); if (res != 'failure') { Get.back(); mainController.ownerController.clear(); mainController.carNumberController.clear(); mainController.manufactureYearController.clear(); mainController.carModelController.clear(); mainController.siteCarController.clear(); mainController.carTypeController.clear(); mainController.registrationDateController.clear(); mainController.phoneController.clear(); Get.snackbar('done', '', backgroundColor: AppColor.greenColor); } } }, kolor: AppColor.greenColor, ), cancel: MyElevatedButton( title: 'Cancel'.tr, kolor: AppColor.redColor, onPressed: () { Get.back(); }), ); }, child: Container( decoration: AppStyle.boxDecoration, child: Padding( padding: const EdgeInsets.all(8.0), child: Text( "Add Car Who Wants to Work".tr, style: AppStyle.title, textAlign: TextAlign.center, ), ), ), ), const SizedBox( height: 20, ), // GestureDetector( // onTap: () { // Get.to(() => const ContactPage()); // }, // child: Container( // decoration: AppStyle.boxDecoration, // child: const Center(child: Text('contact')), // ), // ) ], ) ]); } }