|
|
@@ -8,7 +8,7 @@ import { |
|
|
|
useState, |
|
|
|
} from "react"; |
|
|
|
|
|
|
|
interface QcCodeScanner { |
|
|
|
interface QrCodeScanner { |
|
|
|
values: string[]; |
|
|
|
isScanning: boolean; |
|
|
|
startScan: () => void; |
|
|
@@ -20,14 +20,14 @@ interface QrCodeScannerProviderProps { |
|
|
|
children: ReactNode; |
|
|
|
} |
|
|
|
|
|
|
|
export const QcCodeScannerContext = createContext<QcCodeScanner | undefined>( |
|
|
|
export const QrCodeScannerContext = createContext<QrCodeScanner | undefined>( |
|
|
|
undefined, |
|
|
|
); |
|
|
|
|
|
|
|
const QrCodeScannerProvider: React.FC<QrCodeScannerProviderProps> = ({ |
|
|
|
children, |
|
|
|
}) => { |
|
|
|
const [qcCodeScannerValues, setQrCodeScannerValues] = useState<string[]>([]); |
|
|
|
const [qrCodeScannerValues, setQrCodeScannerValues] = useState<string[]>([]); |
|
|
|
const [isScanning, setIsScanning] = useState<boolean>(false); |
|
|
|
const [keys, setKeys] = useState<string[]>([]); |
|
|
|
const [leftCurlyBraceCount, setLeftCurlyBraceCount] = useState<number>(0); |
|
|
@@ -82,7 +82,7 @@ const QrCodeScannerProvider: React.FC<QrCodeScannerProviderProps> = ({ |
|
|
|
keys.join("").substring(startBrace, endBrace + 1), |
|
|
|
]); |
|
|
|
console.log(keys); |
|
|
|
console.log(qcCodeScannerValues); |
|
|
|
console.log(qrCodeScannerValues); |
|
|
|
|
|
|
|
// reset |
|
|
|
setKeys(() => []); |
|
|
@@ -92,9 +92,9 @@ const QrCodeScannerProvider: React.FC<QrCodeScannerProviderProps> = ({ |
|
|
|
}, [keys, leftCurlyBraceCount, rightCurlyBraceCount]); |
|
|
|
|
|
|
|
return ( |
|
|
|
<QcCodeScannerContext.Provider |
|
|
|
<QrCodeScannerContext.Provider |
|
|
|
value={{ |
|
|
|
values: qcCodeScannerValues, |
|
|
|
values: qrCodeScannerValues, |
|
|
|
isScanning: isScanning, |
|
|
|
startScan: startQrCodeScanner, |
|
|
|
stopScan: endQrCodeScanner, |
|
|
@@ -102,15 +102,15 @@ const QrCodeScannerProvider: React.FC<QrCodeScannerProviderProps> = ({ |
|
|
|
}} |
|
|
|
> |
|
|
|
{children} |
|
|
|
</QcCodeScannerContext.Provider> |
|
|
|
</QrCodeScannerContext.Provider> |
|
|
|
); |
|
|
|
}; |
|
|
|
|
|
|
|
export const useQcCodeScanner = (): QcCodeScanner => { |
|
|
|
const context = useContext(QcCodeScannerContext); |
|
|
|
export const useQrCodeScannerContext = (): QrCodeScanner => { |
|
|
|
const context = useContext(QrCodeScannerContext); |
|
|
|
if (!context) { |
|
|
|
throw new Error( |
|
|
|
"useQcCodeScanner must be used within a QcCodeScannerProvider", |
|
|
|
"useQrCodeScanner must be used within a QrCodeScannerProvider", |
|
|
|
); |
|
|
|
} |
|
|
|
return context; |
|
|
|