import { useCallback, useState } from "react";
import { normalizeQrPayload } from "../services/qr/qrService";

export function useQRCode() {
  const [scanned, setScanned] = useState(false);
  const [code, setCode] = useState<string | null>(null);

  const onScan = useCallback((raw: string) => {
    if (scanned) return null;
    const normalized = normalizeQrPayload(raw);
    setScanned(true);
    setCode(normalized);
    return normalized;
  }, [scanned]);

  const reset = useCallback(() => {
    setScanned(false);
    setCode(null);
  }, []);

  return { scanned, code, onScan, reset };
}
