sketch out nav with auth

This commit is contained in:
Loewy
2024-02-07 10:57:32 -08:00
parent 112ed5b140
commit e5e998df36
4 changed files with 61 additions and 9 deletions

View File

@@ -8,6 +8,7 @@ import { useColorScheme } from "react-native";
import Login from "../screens/login";
import Tabs from "./tab-navigator";
import AsyncStorage from "@react-native-async-storage/async-storage";
const Stack = createNativeStackNavigator();
@@ -18,11 +19,6 @@ const ScreensStack = () => (
component={Tabs}
options={{ headerShown: false }}
/>
<Stack.Screen
name="Login"
component={Login}
options={{ headerShown: false }}
/>
</Stack.Navigator>
);
/**
@@ -35,11 +31,27 @@ const ScreensStack = () => (
export default function AppNavigator(): React.JSX.Element {
// useColorScheme get's the theme from device settings
const scheme = useColorScheme();
const getToken = async () => {
const token = await AsyncStorage.getItem('token')
console.log('token', token)
return token
}
return (
<NavigationContainer theme={scheme === "dark" ? DarkTheme : DefaultTheme}>
<Stack.Navigator screenOptions={{ headerShown: false }}>
<Stack.Screen name="App" component={ScreensStack} />
{getToken ? (
<Stack.Screen name="App" component={ScreensStack} />
) : (
<Stack.Screen
name="Login"
component={Login}
options={{ headerShown: false }}
/>
)}
</Stack.Navigator>
</NavigationContainer>
);