171 lines
7.2 KiB
Dart
171 lines
7.2 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:SEFER/controller/functions/ocr_controller.dart';
|
|
|
|
import '../../../constant/style.dart';
|
|
import '../../../controller/auth/captin/ml_google_doc.dart';
|
|
import '../../../controller/auth/captin/register_captin_controller.dart';
|
|
import '../../widgets/elevated_btn.dart';
|
|
import '../../widgets/my_scafold.dart';
|
|
|
|
class CarLicensePage extends StatelessWidget {
|
|
CarLicensePage({super.key});
|
|
CarRegistrationRecognizerController carRegistrationRecognizerController =
|
|
Get.put(CarRegistrationRecognizerController());
|
|
RegisterCaptainController registerCaptainController =
|
|
Get.put(RegisterCaptainController());
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
Get.find<ScanDocumentsByApi>().uploadImagePortrate();
|
|
return MyScafolld(
|
|
title: 'Car License Card'.tr,
|
|
body: [
|
|
Positioned(
|
|
top: 3,
|
|
left: Get.width * .2,
|
|
right: Get.width * .2,
|
|
child: MyElevatedButton(
|
|
title: 'Take Picture Of ID Card'.tr,
|
|
onPressed: () async {
|
|
//0vQRyaYYDWpsv73A5CZOknseK7S2sgwE
|
|
//3vQRyaYYSWpmv69A58ZOkxmeK6M1mgwEDlXrXlBl
|
|
//0pALdqDDYHvzp73Q59SIgbzjG7Z2zkhJXr
|
|
// String? visionApi = AK.serverPHP;
|
|
// print(AK.visionApi);
|
|
await carRegistrationRecognizerController.scanText();
|
|
},
|
|
)),
|
|
Positioned(
|
|
top: 50,
|
|
child: SizedBox(
|
|
height: Get.height * .6,
|
|
width: Get.width,
|
|
child: buildImageWithBoundingBoxes(),
|
|
),
|
|
),
|
|
Positioned(
|
|
bottom: Get.height * .2,
|
|
left: Get.width * .2,
|
|
right: Get.width * .2,
|
|
child: MyElevatedButton(
|
|
title: 'Register'.tr,
|
|
onPressed: () async {
|
|
// registerCaptainController.addLisence();
|
|
// registerCaptainController.register();
|
|
registerCaptainController.addRegisrationCarForDriver(
|
|
carRegistrationRecognizerController.extracted['vin'],
|
|
carRegistrationRecognizerController.extracted['make'],
|
|
carRegistrationRecognizerController.extracted['model'],
|
|
carRegistrationRecognizerController.extracted['year'],
|
|
carRegistrationRecognizerController.extracted['color'],
|
|
carRegistrationRecognizerController.extracted['owner'],
|
|
carRegistrationRecognizerController
|
|
.extracted['expiration_date'],
|
|
carRegistrationRecognizerController
|
|
.extracted['registration_date'],
|
|
);
|
|
},
|
|
)),
|
|
],
|
|
isleading: true);
|
|
}
|
|
}
|
|
|
|
Widget buildImageWithBoundingBoxes() {
|
|
Get.put(CarRegistrationRecognizerController());
|
|
return GetBuilder<CarRegistrationRecognizerController>(
|
|
builder: (carRegistrationRecognizerController) =>
|
|
carRegistrationRecognizerController.image == null ||
|
|
carRegistrationRecognizerController.extracted.isEmpty
|
|
? Center(
|
|
child: Text(
|
|
'No image selected yet'.tr,
|
|
style: AppStyle.headTitle2,
|
|
))
|
|
: Column(
|
|
children: [
|
|
SizedBox(
|
|
width: Get.width * .8,
|
|
height: Get.width * .5,
|
|
child: Image.file(
|
|
File(carRegistrationRecognizerController
|
|
.croppedFile!.path),
|
|
// fit: BoxFit.fill,
|
|
)),
|
|
const SizedBox(
|
|
height: 20,
|
|
),
|
|
Container(
|
|
decoration: AppStyle.boxDecoration,
|
|
height: Get.width * .5,
|
|
width: Get.width * .9,
|
|
child: Column(
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
children: [
|
|
Row(
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
children: [
|
|
Text(
|
|
'${'Made :'.tr}${carRegistrationRecognizerController.extracted['make']}',
|
|
style: AppStyle.title,
|
|
),
|
|
Text(
|
|
'${'model :'.tr}${carRegistrationRecognizerController.extracted['model']}',
|
|
style: AppStyle.title,
|
|
),
|
|
],
|
|
),
|
|
Row(
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
children: [
|
|
Text(
|
|
'${'VIN :'.tr}${carRegistrationRecognizerController.extracted['vin']}',
|
|
style: AppStyle.title,
|
|
),
|
|
Text(
|
|
'${'year :'.tr}${carRegistrationRecognizerController.extracted['year']}',
|
|
style: AppStyle.title,
|
|
),
|
|
],
|
|
),
|
|
Row(
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
children: [
|
|
Column(
|
|
children: [
|
|
Text(
|
|
'expiration date :${carRegistrationRecognizerController.extracted['expiration_date']}',
|
|
style: AppStyle.title,
|
|
),
|
|
Text(
|
|
'registration date :${carRegistrationRecognizerController.extracted['registration_date']}',
|
|
style: AppStyle.title,
|
|
),
|
|
],
|
|
),
|
|
Text(
|
|
'color :${carRegistrationRecognizerController.extracted['color']}',
|
|
style: AppStyle.title,
|
|
),
|
|
],
|
|
),
|
|
Row(
|
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
|
children: [
|
|
Text(
|
|
'owner :${carRegistrationRecognizerController.extracted['owner']}',
|
|
style: AppStyle.title,
|
|
),
|
|
],
|
|
),
|
|
],
|
|
),
|
|
)
|
|
],
|
|
));
|
|
}
|