31 lines
923 B
TypeScript
31 lines
923 B
TypeScript
import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native';
|
|
import { Stack } from 'expo-router';
|
|
import { StatusBar } from 'expo-status-bar';
|
|
import 'react-native-reanimated';
|
|
|
|
import { useColorScheme } from '@/hooks/use-color-scheme';
|
|
import { authClient } from '@/lib/auth-client';
|
|
|
|
export const unstable_settings = {
|
|
anchor: '(tabs)',
|
|
};
|
|
|
|
export default function RootLayout() {
|
|
const colorScheme = useColorScheme();
|
|
const { data, isPending } = authClient.useSession();
|
|
|
|
return (
|
|
<ThemeProvider value={colorScheme === 'dark' ? DarkTheme : DefaultTheme}>
|
|
<Stack>
|
|
<Stack.Protected guard={!isPending && !!data}>
|
|
<Stack.Screen name="index" />
|
|
</Stack.Protected>
|
|
<Stack.Protected guard={!isPending && !data}>
|
|
<Stack.Screen name="auth" />
|
|
</Stack.Protected>
|
|
</Stack>
|
|
<StatusBar style="auto" />
|
|
</ThemeProvider>
|
|
);
|
|
}
|