import "./index.css"; import { Box, Button } from "@mui/material"; import { getLocalizedString } from "@olenbetong/appframe-core"; import { useEffect, useRef, useState } from "react"; import { useHIDScanner } from "./useHIDScanner"; export function AddElementHIDScanner({ onScan }: { onScan: (id: string) => void }) { let [enabled, setEnabled] = useState(false); let root = useRef(null); useEffect(() => { if (!root.current) return; let rootElem = root.current; function handleFocus() { setEnabled(true); } function handleBlur() { setEnabled(false); } rootElem.addEventListener("focus", handleFocus); rootElem.addEventListener("blur", handleBlur); rootElem.focus(); return () => { rootElem.removeEventListener("focus", handleFocus); rootElem.removeEventListener("blur", handleBlur); }; }, []); useHIDScanner(onScan, enabled); return ( {enabled ? ( {getLocalizedString("Listening for scanned elements")}... ) : ( )} ); }