import { StatusBar } from 'expo-status-bar'; import { ShareIntent, useShareIntent } from 'expo-share-intent'; import React from 'react'; import { ActivityIndicator, SafeAreaView, StyleSheet, Text, View } from 'react-native'; import { AppProvider, useAppContext } from './src/context/AppContext'; import { colors } from './src/components/UI'; import { AuthScreen } from './src/screens/AuthScreen'; import { ConnectionSetupScreen } from './src/screens/ConnectionSetupScreen'; import { WebAppScreen } from './src/screens/WebAppScreen'; interface ShareIntentState { hasShareIntent: boolean; shareIntent: ShareIntent; resetShareIntent: (clearNativeModule?: boolean) => void; error: string | null; } function AppRouter({ shareIntentState }: { shareIntentState: ShareIntentState }) { const { ready, instanceUrl, token, user, logout } = useAppContext(); if (!ready) { return ( Loading Trackeep Mobile... ); } if (!instanceUrl) { return ; } if (!token) { return ; } if (!user) { return ( Loading user session... ); } return ( ); } export default function App() { const { hasShareIntent, shareIntent, resetShareIntent, error } = useShareIntent({ resetOnBackground: false, }); return ( ); } const styles = StyleSheet.create({ appRoot: { flex: 1, backgroundColor: colors.background, }, safeArea: { flex: 1, }, bootContainer: { flex: 1, alignItems: 'center', justifyContent: 'center', backgroundColor: colors.background, gap: 10, }, bootText: { color: colors.muted, fontSize: 14, }, });