react-native-scanner/utils.js

61 lines
1.5 KiB
JavaScript

import {useEffect, useState} from 'react';
import EncryptedStorage from 'react-native-encrypted-storage';
export const Constants = {
API_ADDRESS: 'http://192.168.178.93:8080/v1',
GLOBALS: {
MAX_SCANNER_LENGTH: 16,
},
};
/* const getScannerSession = async () => {
try {
const scannerSession = await EncryptedStorage.getItem('scanner_session');
if (scannerSession !== undefined) {
console.log('Scanner session', scannerSession);
return scannerSession;
}
return null;
} catch (error) {
console.error(error);
}
}; */
export function UseScannerSession() {
const [scannerSession, setScannerSession] = useState('');
useEffect(() => {
const getScannerSession = async () => {
try {
const session = await EncryptedStorage.getItem('scanner_session');
setScannerSession(session);
console.log('set scanner session', session);
} catch (error) {
console.error(error);
}
};
getScannerSession();
}, []);
const saveScannerSession = async scannerSession => {
console.log('Saving session', scannerSession);
setScannerSession(scannerSession);
if (scannerSession === undefined) {
console.log('here1');
await EncryptedStorage.removeItem('scanner_session');
} else {
console.log('here2');
await EncryptedStorage.setItem(
'scanner_session',
JSON.stringify(scannerSession),
);
}
};
return {
setScannerSession: saveScannerSession,
scannerSession,
};
}