import React, {useEffect, useState} from 'react'; import Config from 'react-native-config'; import {View, StyleSheet, Image} from 'react-native'; import {useNavigation} from '@react-navigation/native'; import {Camera, CameraPermissionStatus} from 'react-native-vision-camera'; import Permission from '@screens/scan/Permission'; import {QR_CODE, HOME} from '@constants/navigation/app-bottom-tab'; import Container from '@components/Container'; import { ComingSoonWrapper, ComingSoonTitle, ComingSoonSubTitle, } from '@styles/screens/scan'; const Scan = () => { const screenEnabled = Config.ENABLE_SCAN_SCREEN === 'true'; const navigation: any = useNavigation(); const [permissionModal, setPermissionModal] = useState(false); useEffect(() => { if (screenEnabled) { const unsubscribe = navigation.addListener('focus', async () => { const cameraPermission: CameraPermissionStatus = await Camera.getCameraPermissionStatus(); if (cameraPermission === 'authorized') { navigation.navigate(QR_CODE.SCREEN); } else { setPermissionModal(true); } }); return unsubscribe; } }, [navigation, screenEnabled]); if (screenEnabled) { return ( {permissionModal && ( { setPermissionModal(false); navigation.navigate(HOME.SCREEN); }} allow={() => { setPermissionModal(false); navigation.navigate(QR_CODE.SCREEN); }} /> )} ); } return ( Scan QR to share and receive information securely with any organisation.{' '} Coming soon! ); }; export default Scan;