import React, { useState, useEffect } from "react"; import { Text, View, StyleSheet, Button, ActivityIndicator } from "react-native"; import { CameraView, Camera } from "expo-camera"; export default function App() { const [hasPermission, setHasPermission] = useState(null); const [scanned, setScanned] = useState(false); const [showSplash, setShowSplash] = useState(true); useEffect(() => { const initializeApp = async () => { const { status } = await Camera.requestCameraPermissionsAsync(); setHasPermission(status === "granted"); setShowSplash(false); }; initializeApp(); }, []); const handleBarCodeScanned = ({ type, data }) => { setScanned(true); 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 ( {/* Top Banner */} SafeQR {/* Welcome Text */} Welcome to SafeQR code Scanner {/* Camera Container */} {/* Scan Again Button */} {scanned && (