import { checkUserSession } from "@/redux/user/user.actions"; import { selectBodyshop, selectCurrentUser } from "@/redux/user/user.selectors"; import { ApolloProvider } from "@apollo/client"; import MaterialIcons from "@expo/vector-icons/MaterialIcons"; import { Stack } from "expo-router"; import { Icon, Label, NativeTabs, VectorIcon, } from "expo-router/unstable-native-tabs"; import { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { ActivityIndicator, Platform, View } from "react-native"; import { Provider as PaperProvider } from "react-native-paper"; import { connect, Provider } from "react-redux"; import { PersistGate } from "redux-persist/integration/react"; import { createStructuredSelector } from "reselect"; import { client } from "../graphql/client"; import { persistor, store } from "../redux/store"; import "../translations/i18n"; import theme from "../util/theme"; function AuthenticatedLayout() { const { t } = useTranslation(); return ( {Platform.select({ ios: , android: ( } /> ), })} {Platform.select({ ios: , android: ( } /> ), })} {Platform.select({ //ios: , android: ( } /> ), })} ); } function UnauthenticatedLayout() { return ( ); } function LoadingLayout() { return ( ); } const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, currentUser: selectCurrentUser, }); const mapDispatchToProps = (dispatch) => ({ checkUserSession: () => dispatch(checkUserSession()), }); function AppContent({ currentUser, checkUserSession, bodyshop }) { useEffect(() => { checkUserSession(); }, []); if (currentUser.authorized === null) { return ; } if (currentUser.authorized) { return ; } return ; } const ConnectedAppContent = connect( mapStateToProps, mapDispatchToProps )(AppContent); export default function AppLayout() { return ( ); }