import 'dart:io';

import 'package:get/get.dart';
// import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart';
import 'package:image_cropper/image_cropper.dart';
import 'package:image_picker/image_picker.dart';
import 'package:sefer_driver/constant/colors.dart';
import 'package:sefer_driver/controller/functions/llama_ai.dart';

// class CarRegistrationRecognizerController extends GetxController {
//   @override
//   void onInit() {
//     // scanText();
//     super.onInit();
//   }

//   // The ImagePicker instance
//   final ImagePicker _imagePicker = ImagePicker();

//   // The GoogleMlKit TextRecognizer instance
//   // final TextRecognizer _textRecognizer = TextRecognizer();

//   // The scanned text
//   String? scannedText;
//   String? jsonOutput;
//   final List<Map<String, dynamic>> lines = [];
//   Map extracted = {};
//   XFile? image;
//   CroppedFile? croppedFile;
//   // Picks an image from the camera or gallery and extracts the text
//   final List<Map<String, dynamic>> extractedTextWithCoordinates = [];

//   Future<void> scanText() async {
//     // Pick an image from the camera or gallery
//     image = await _imagePicker.pickImage(source: ImageSource.gallery);
//     update();

//     // If no image was picked, return
//     if (image == null) {
//       return;
//     }

//     // Crop the image
//     croppedFile = await ImageCropper().cropImage(
//       sourcePath: image!.path,
//       //
//       uiSettings: [
//         AndroidUiSettings(
//             toolbarTitle: 'Cropper'.tr,
//             toolbarColor: AppColor.blueColor,
//             toolbarWidgetColor: AppColor.yellowColor,
//             initAspectRatio: CropAspectRatioPreset.original,
//             lockAspectRatio: false),
//         IOSUiSettings(
//           title: 'Cropper'.tr,
//         ),
//       ],
//     );

//     // If no cropped image was obtained, return
//     if (croppedFile == null) {
//       return;
//     }

//     // Convert the cropped file to an InputImage object
//     final InputImage inputImage = InputImage.fromFile(File(croppedFile!.path));

//     // Recognize the text in the image
//     final RecognizedText recognizedText =
//         await _textRecognizer.processImage(inputImage);
//     scannedText = recognizedText.text;

//     // Extract the scanned text line by line
//     final List<Map<String, dynamic>> lines = [];
//     for (var i = 0; i < recognizedText.blocks.length; i++) {
//       lines.add({
//         i.toString(): recognizedText.blocks[i].text,
//       });
//     }

//     String result = lines.map((map) => map.values.first.toString()).join(' ');
//     if (result.length > 2200) {
//       result = result.substring(0, 2200);
//     }
//     Map result2 = await LlamaAi().getCarRegistrationData(result,
//         'vin,make,made,year,expiration_date,color,owner,registration_date'); //

//     // Assign the result to the extracted variable
//     extracted = result2;

//     update();
//   }
// }
