Skip to content

Commit

Permalink
refactor: update auth flow navigation
Browse files Browse the repository at this point in the history
  • Loading branch information
OKendigelyan committed Feb 5, 2025
1 parent ef101d3 commit cd44d16
Show file tree
Hide file tree
Showing 8 changed files with 56 additions and 9 deletions.
29 changes: 29 additions & 0 deletions apps/mobile/app/(auth)/(tabs)/_layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { Compass, Wallet } from "@tamagui/lucide-icons";
import { Tabs } from "expo-router";

export default function TabLayout() {
return (
<Tabs
screenOptions={{
tabBarInactiveTintColor: "black",

headerShown: false,
}}
>
<Tabs.Screen
name="home"
options={{
title: "Home",
tabBarIcon: ({ color }) => <Wallet color={color} />,
}}
/>
<Tabs.Screen
name="explore"
options={{
title: "Explore",
tabBarIcon: ({ color }) => <Compass color={color} />,
}}
/>
</Tabs>
);
}
9 changes: 9 additions & 0 deletions apps/mobile/app/(auth)/(tabs)/explore.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { Text, YStack } from "tamagui";

export default function Explore() {
return (
<YStack alignItems="center" flex={1} paddingTop={20} backgroundColor="white">
<Text>Explore screen</Text>
</YStack>
);
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useDataPolling } from "@umami/data-polling";

import { Home as HomeScreen } from "../../screens/Home";
import { Home as HomeScreen } from "../../../screens/Home";

export default function Home() {
useDataPolling();
Expand Down
11 changes: 9 additions & 2 deletions apps/mobile/app/(auth)/_layout.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
import { Stack } from "expo-router";
import { useCurrentAccount } from "@umami/state";
import { Redirect, Stack } from "expo-router";
import { View } from "react-native";

import { Header } from "../../components/Header";

export default function AuthenticatedLayout() {
const currentAccount = useCurrentAccount();

if (!currentAccount) {
return <Redirect href="/" />;
}

return (
<View style={{ flex: 1, paddingTop: 60, backgroundColor: "white", paddingHorizontal: 10 }}>
<Header />
<Stack screenOptions={{ headerShown: false }}>
<Stack.Screen name="home" />
<Stack.Screen name="(tabs)" options={{ gestureEnabled: false }} />
</Stack>
</View>
);
Expand Down
7 changes: 5 additions & 2 deletions apps/mobile/app/_layout.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { type Toast, ToastProvider } from "@umami/utils";
import { Slot, SplashScreen } from "expo-router";
import { SplashScreen, Stack } from "expo-router";
import { useEffect } from "react";
import { useColorScheme } from "react-native";
import { Provider } from "react-redux";
Expand Down Expand Up @@ -27,7 +27,10 @@ export default function RootLayout() {
<TamaguiProvider config={tamaguiConfig} defaultTheme={colorScheme!}>
<ModalProvider>
<AuthProvider>
<Slot />
<Stack screenOptions={{ headerShown: false }}>
<Stack.Screen name="index" options={{ gestureEnabled: false }} />
<Stack.Screen name="(auth)" options={{ gestureEnabled: false }}/>
</Stack>
</AuthProvider>
</ModalProvider>
</TamaguiProvider>
Expand Down
File renamed without changes.
6 changes: 3 additions & 3 deletions apps/mobile/services/auth/useRedirectToAuthorized.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ export const useRedirectToAuthorized = () => {

useEffect(() => {
if (currentAccount) {
router.replace("/home");
} else {
router.replace("/login");
router.push("/home");
} else if (router.canGoBack()) {
router.dismissAll();
}
}, [currentAccount, router]);
};
1 change: 0 additions & 1 deletion apps/mobile/services/auth/useSocialOnboarding.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ export const useSocialOnboarding = () => {
await forIDP(idp).logout();
resetState();
await persistor.purge();
router.replace("/login");
});

const createLoginHandler = (provider: IDP) => () => login(provider);
Expand Down

0 comments on commit cd44d16

Please sign in to comment.