import React, { useState, useEffect } from 'react'; import { Text, View, StyleSheet, Button, ActivityIndicator } from 'react-native'; import { NavigationContainer } from '@react-navigation/native'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import { CameraView, Camera } from 'expo-camera'; import { Ionicons } from '@expo/vector-icons'; const Tab = createBottomTabNavigator(); function QRScannerScreen() { const [hasPermission, setHasPermission] = useState(null); const [scanned, setScanned] = useState(false); const [showSplash, setShowSplash] = useState(true); const [scannedData, setScannedData] = useState(''); useEffect(() => { const initializeApp = async () => { const { status } = await Camera.requestCameraPermissionsAsync(); setHasPermission(status === 'granted'); setShowSplash(false); }; initializeApp(); }, []); const handleBarCodeScanned = ({ type, data }) => { setScanned(true); setScannedData(`Type: ${type}\nData: ${data}`); alert(`Bar code with type ${type} and data ${data} has been scanned!`); }; if (showSplash) { return ( ); } if (hasPermission === null) { return Requesting for camera permission; } if (hasPermission === false) { return No access to camera; } return ( SafeQR Welcome to SafeQR code Scanner {scannedData !== '' && ( {scannedData} )} {scanned && (