Commit 0cfe9f3e authored by Lorenzo Trujillo Rojas's avatar Lorenzo Trujillo Rojas
Browse files

Se creó un hook que maneja la lectura de códigos QR

parent 642360de
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
import { useEffect, useState } from "react";
import * as SecureStore from "expo-secure-store";
import { Camera, PermissionResponse } from "expo-camera";
import { BarCodeScannerResult } from "expo-barcode-scanner";

export const useQRScanner = () => {
  const [status, requestPermission] = Camera.useCameraPermissions();
  const [hasPermission, setHasPermission] = useState<boolean>(false);
  const [qrData, setQRData] = useState<string | null>(null);
  const [scanning, setScanning] = useState<boolean>(qrData === null);
  const getPermission = async () => {
    const permission = await requestPermission();
    if (permission.granted) {
      setHasPermission(true);
    }
  };

  const onQRScanned = (data: BarCodeScannerResult) => {
    console.log(data.data);
    setQRData(data.data);
    setScanning(false);
  };
  useEffect(() => {
    if (status?.granted) {
      setHasPermission(true);
    }
  }, [status]);
  return { hasPermission, getPermission, scanning, qrData, onQRScanned};
};