import { View } from 'react-native' import React, { useContext, useEffect } from 'reactn' import firebase, { usersRef } from '../config/firebase' import { Routes } from '../navigation' import { SplashAnimationContext } from '../providers/SplashAnimationProvider' import { UserDataContext } from '../providers/UserDataProvider' export default ({ navigation }) => { const { setCurrentUserData } = useContext(UserDataContext) const { setIsFullyLoaded } = useContext(SplashAnimationContext) useEffect(() => { userRouting() }, []) const userRouting = async () => { const uid = firebase.auth().currentUser?.uid if (!uid) { navigation.reset({ index: 0, routes: [{ name: Routes.LandingPage }], }) setIsFullyLoaded(true) return } try { const userSnap = await usersRef.doc(uid).get() const user = userSnap?.data() || {} if (userSnap.exists) setCurrentUserData(user) } catch (error) { console.warn('Splash: unable to load user profile', error) } finally { navigation.reset({ index: 0, routes: [{ name: Routes.LandingPage }], }) setIsFullyLoaded(true) } } return }