import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:myhr_facescan/camera_loading.dart';
import 'package:myhr_facescan/enroll/template_model.dart';
import 'package:myhr_facescan/luxand_controller.dart';
import 'package:myhr_facescan/match_template/controller.dart';

class MatchTemplateScanner extends StatelessWidget {
  const MatchTemplateScanner({
    super.key,
    required this.licenseKey,
    required this.onFinish,
    this.imageStreamMilliSecond = 100,
    required this.templates,
  });

  final String licenseKey;
  final void Function(bool, TemplateModel?) onFinish;
  final int imageStreamMilliSecond;
  final List<FaceTemplate> templates;

  @override
  Widget build(BuildContext context) {
    var con = Get.put(MatchTemplateController(
        licenseKey: licenseKey,
        onFinish: onFinish,
        imageStreamMilliSecond: imageStreamMilliSecond,
        templates: templates));

    return Obx(() => con.isCameraReady.value
        ? Transform.scale(
            scale: con.previewScale,
            child: CameraPreview(
              con.camController!,
            ),
          )
        : const CameraLoading());
  }
}