/** * Sample React Native App * https://github.com/facebook/react-native * * @format */ import React from 'react'; import { Provider } from 'react-redux'; import { PersistGate } from 'redux-persist/integration/react'; import { useSelector } from 'react-redux'; import { NavigationContainer } from '@react-navigation/native'; import AppNavigator from '@/navigation/AppNavigator'; import { store, persistor } from '@/store/store'; import { ThemeProvider } from '@/shared/styles/ThemeProvider'; import LoadingSpinner from '@/shared/components/ui/LoadingSpinner'; import AuthNavigator from '@/modules/auth/navigation/AuthNavigator'; import type { RootState } from '@/store/store'; import IntegrationsNavigator from '@/modules/integrations/navigation/IntegrationsNavigator'; import { StatusBar } from 'react-native'; function AppContent(): React.JSX.Element { const isAuthenticated = useSelector((s: RootState) => Boolean(s.auth.token)); const selectedService = useSelector((s: RootState) => s.integrations.selectedService); const linking = { prefixes: ['centralizedreportingsystem://', 'https://centralizedreportingsystem.com'], config: { screens: { // App tabs (see src/navigation/AppNavigator.tsx) Dashboard: { path: 'dashboard', }, Profile: { path: 'profile', screens: { Profile: { path: ':userId?', parse: { userId: (userId: string) => (userId ? parseInt(userId, 10) : undefined), }, }, }, }, }, }, }; return ( } persistor={persistor}> {!isAuthenticated ? ( ) : ( !selectedService ? ( ) : ( ) )} ); } export default function App() { return ( ); }