import { Ionicons } from '@expo/vector-icons'
import { CameraView, useCameraPermissions } from 'expo-camera'
import { Stack, useRouter } from 'expo-router'
import { observer } from 'mobx-react-lite'
import { useCallback, useEffect, useRef } from 'react'
import { Pressable, View } from 'react-native'
import { Block } from '@/@share/components'
import { userStore } from '@/stores/userStore'
const ScanPage = observer(() => {
const router = useRouter()
const scannedRef = useRef(false)
const [permission] = useCameraPermissions()
useEffect(() => {
userStore.setScannedQR('')
}, [])
const handleBarcodeScanned = useCallback(
({ data }: { data: string }) => {
if (scannedRef.current) return
scannedRef.current = true
userStore.setScannedQR(data)
setTimeout(() => router.back(), 300)
},
[router],
)
if (!permission?.granted) {
return (
)
}
return (
(
router.back()} hitSlop={8}>
),
}}
/>
{/* 扫描框 */}
)
})
export default ScanPage