Loading .gitignore +4 −1 Original line number Diff line number Diff line Loading @@ -4,3 +4,6 @@ /mobile/node_modules /mobile/.expo /mobile/metro /mobile/src/common/constants/api.ts /mobile/%ProgramData%/Microsoft/Windows/UUS/State/_active.uusver /mobile/assets/audio_prueba.mp3 mobile/app/(tabs)/_layout.tsx +16 −8 Original line number Diff line number Diff line import { Redirect, Tabs } from "expo-router"; import { Ionicons } from "@expo/vector-icons"; import { FontAwesome5 } from "@expo/vector-icons"; import { LIGTHT_THEME } from "../../src/common/constants/theme"; import { LIGHT_THEME } from "../../src/common/constants/theme"; import { useAuth } from "../../src/auth/contexts/auth_context"; import { useTranslation } from "react-i18next"; import { useSetUp } from "../../src/common/contexts/set_up_context"; export default function Layout() { const { user } = useAuth(); const { isFirstTime } = useSetUp(); const LANG = useTranslation(); console.log(user); if (!user) { return <Redirect href={'/login'}/>; } if (isFirstTime) { return <Redirect href={'/profile/set_up'}/>; } return ( <Tabs initialRouteName="index" screenOptions={{ tabBarActiveTintColor: LIGTHT_THEME.color.primary, tabBarInactiveTintColor: LIGTHT_THEME.color.secondary, tabBarActiveTintColor: LIGHT_THEME.color.primary, tabBarInactiveTintColor: LIGHT_THEME.color.secondary, headerStyle: { backgroundColor: LIGTHT_THEME.color.primary, backgroundColor: LIGHT_THEME.color.primary, }, headerTitleStyle: { color: LIGTHT_THEME.color.white, color: LIGHT_THEME.color.white, }, headerTitleAlign: "center", }} Loading @@ -29,7 +37,7 @@ export default function Layout() { <Tabs.Screen name="index" options={{ title: "Home", title: LANG.t("tabBar.homeLabel"), tabBarIcon: ({ color, focused }) => { if (focused) { return <Ionicons name="home" size={24} color={color} />; Loading @@ -41,7 +49,7 @@ export default function Layout() { <Tabs.Screen name="travel_history" options={{ title: "Travel History", title: LANG.t("tabBar.travelHistoryLabel"), tabBarIcon: ({ color, focused }) => { if (focused) { return <FontAwesome5 name="history" size={24} color={color} />; Loading @@ -53,7 +61,7 @@ export default function Layout() { <Tabs.Screen name="account" options={{ title: "Account", title: LANG.t("tabBar.accountLabel"), tabBarIcon: ({ color, focused }) => { if (focused) { return <Ionicons name="person" size={24} color={color} />; Loading mobile/app/(tabs)/account.tsx +1 −1 Original line number Diff line number Diff line import { AccountPage } from "../../src/account/screens/account_page"; import { AccountPage } from "../../src/profile/screens/account_page"; export default function AccountScreen() { return ( Loading mobile/app/_layout.tsx +41 −25 Original line number Diff line number Diff line import { Stack, Tabs } from "expo-router"; import { DataContextProvider } from "../src/common/contexts/data_context"; import { LIGTHT_THEME } from "../src/common/constants/theme"; import { AuthContextProvider, useAuth } from "../src/auth/contexts/auth_context"; import { LIGHT_THEME } from "../src/common/constants/theme"; import { AuthContextProvider, useAuth, } from "../src/auth/contexts/auth_context"; import { ActivityIndicator } from "react-native"; import { GestureHandlerRootView } from "react-native-gesture-handler"; import { AudioContextProvider } from "../src/common/contexts/audio_context"; import { I18nextProvider } from "react-i18next"; import i18n from "../src/lang/translations"; import { SetUpContextProvider, useSetUp } from "../src/common/contexts/set_up_context"; export default function Root() { return ( <I18nextProvider i18n={i18n}> <GestureHandlerRootView style={{ flex: 1 }}> <DataContextProvider> <AuthContextProvider> <AudioContextProvider> <SetUpContextProvider> <MainLayout /> </SetUpContextProvider> </AudioContextProvider> </AuthContextProvider> </DataContextProvider> </GestureHandlerRootView> </I18nextProvider> ); } Loading @@ -33,14 +43,14 @@ const MainLayout = () => { name="(tabs)" options={{ headerShown: false, statusBarColor: LIGTHT_THEME.color.primary, statusBarColor: LIGHT_THEME.color.primary, }} /> <Stack.Screen name="state" options={{ headerShown: false, statusBarColor: LIGTHT_THEME.color.primary, statusBarColor: LIGHT_THEME.color.primary, }} /> <Stack.Screen Loading @@ -67,25 +77,31 @@ const MainLayout = () => { name="scan" options={{ title: "Scan", statusBarColor: LIGTHT_THEME.color.primary, statusBarColor: LIGHT_THEME.color.primary, headerStyle: { backgroundColor: LIGTHT_THEME.color.primary, backgroundColor: LIGHT_THEME.color.primary, }, headerTitleStyle: { color: LIGTHT_THEME.color.white, color: LIGHT_THEME.color.white, }, headerTitleAlign: "center", headerTintColor: LIGTHT_THEME.color.white, headerTintColor: LIGHT_THEME.color.white, }} /> <Stack.Screen name="travel_history" options={{ <Stack.Screen name="travel_history" options={{ headerShown: false, statusBarColor: LIGTHT_THEME.color.primary, }}/> <Stack.Screen name="routes/generate_route" options={{ statusBarColor: LIGHT_THEME.color.primary, }} /> <Stack.Screen name="routes/generate_route" options={{ headerShown: false, statusBarColor: LIGTHT_THEME.color.primary, }}/> statusBarColor: LIGHT_THEME.color.primary, }} /> </Stack> ); }; mobile/app/profile/_layout.tsx +22 −1 Original line number Diff line number Diff line import { Stack } from "expo-router"; import { LIGHT_THEME } from "../../src/common/constants/theme"; export default function Layout() { return ( <Stack> <Stack screenOptions={{ headerStyle: { backgroundColor: LIGHT_THEME.color.primary, }, headerTitleStyle: { color: LIGHT_THEME.color.white, }, headerTitleAlign: "center", headerTintColor: LIGHT_THEME.color.white, statusBarColor: LIGHT_THEME.color.primary, }} > <Stack.Screen name="edit" options={{ title: "Edit Profile", headerShown: true, }}/> <Stack.Screen name="interests" options={{ title: "Interests", headerShown: true, }}/> <Stack.Screen name="set_up" options={{ title: "Set Up Profile", headerShown: true, }}/> </Stack> ); } No newline at end of file Loading
.gitignore +4 −1 Original line number Diff line number Diff line Loading @@ -4,3 +4,6 @@ /mobile/node_modules /mobile/.expo /mobile/metro /mobile/src/common/constants/api.ts /mobile/%ProgramData%/Microsoft/Windows/UUS/State/_active.uusver /mobile/assets/audio_prueba.mp3
mobile/app/(tabs)/_layout.tsx +16 −8 Original line number Diff line number Diff line import { Redirect, Tabs } from "expo-router"; import { Ionicons } from "@expo/vector-icons"; import { FontAwesome5 } from "@expo/vector-icons"; import { LIGTHT_THEME } from "../../src/common/constants/theme"; import { LIGHT_THEME } from "../../src/common/constants/theme"; import { useAuth } from "../../src/auth/contexts/auth_context"; import { useTranslation } from "react-i18next"; import { useSetUp } from "../../src/common/contexts/set_up_context"; export default function Layout() { const { user } = useAuth(); const { isFirstTime } = useSetUp(); const LANG = useTranslation(); console.log(user); if (!user) { return <Redirect href={'/login'}/>; } if (isFirstTime) { return <Redirect href={'/profile/set_up'}/>; } return ( <Tabs initialRouteName="index" screenOptions={{ tabBarActiveTintColor: LIGTHT_THEME.color.primary, tabBarInactiveTintColor: LIGTHT_THEME.color.secondary, tabBarActiveTintColor: LIGHT_THEME.color.primary, tabBarInactiveTintColor: LIGHT_THEME.color.secondary, headerStyle: { backgroundColor: LIGTHT_THEME.color.primary, backgroundColor: LIGHT_THEME.color.primary, }, headerTitleStyle: { color: LIGTHT_THEME.color.white, color: LIGHT_THEME.color.white, }, headerTitleAlign: "center", }} Loading @@ -29,7 +37,7 @@ export default function Layout() { <Tabs.Screen name="index" options={{ title: "Home", title: LANG.t("tabBar.homeLabel"), tabBarIcon: ({ color, focused }) => { if (focused) { return <Ionicons name="home" size={24} color={color} />; Loading @@ -41,7 +49,7 @@ export default function Layout() { <Tabs.Screen name="travel_history" options={{ title: "Travel History", title: LANG.t("tabBar.travelHistoryLabel"), tabBarIcon: ({ color, focused }) => { if (focused) { return <FontAwesome5 name="history" size={24} color={color} />; Loading @@ -53,7 +61,7 @@ export default function Layout() { <Tabs.Screen name="account" options={{ title: "Account", title: LANG.t("tabBar.accountLabel"), tabBarIcon: ({ color, focused }) => { if (focused) { return <Ionicons name="person" size={24} color={color} />; Loading
mobile/app/(tabs)/account.tsx +1 −1 Original line number Diff line number Diff line import { AccountPage } from "../../src/account/screens/account_page"; import { AccountPage } from "../../src/profile/screens/account_page"; export default function AccountScreen() { return ( Loading
mobile/app/_layout.tsx +41 −25 Original line number Diff line number Diff line import { Stack, Tabs } from "expo-router"; import { DataContextProvider } from "../src/common/contexts/data_context"; import { LIGTHT_THEME } from "../src/common/constants/theme"; import { AuthContextProvider, useAuth } from "../src/auth/contexts/auth_context"; import { LIGHT_THEME } from "../src/common/constants/theme"; import { AuthContextProvider, useAuth, } from "../src/auth/contexts/auth_context"; import { ActivityIndicator } from "react-native"; import { GestureHandlerRootView } from "react-native-gesture-handler"; import { AudioContextProvider } from "../src/common/contexts/audio_context"; import { I18nextProvider } from "react-i18next"; import i18n from "../src/lang/translations"; import { SetUpContextProvider, useSetUp } from "../src/common/contexts/set_up_context"; export default function Root() { return ( <I18nextProvider i18n={i18n}> <GestureHandlerRootView style={{ flex: 1 }}> <DataContextProvider> <AuthContextProvider> <AudioContextProvider> <SetUpContextProvider> <MainLayout /> </SetUpContextProvider> </AudioContextProvider> </AuthContextProvider> </DataContextProvider> </GestureHandlerRootView> </I18nextProvider> ); } Loading @@ -33,14 +43,14 @@ const MainLayout = () => { name="(tabs)" options={{ headerShown: false, statusBarColor: LIGTHT_THEME.color.primary, statusBarColor: LIGHT_THEME.color.primary, }} /> <Stack.Screen name="state" options={{ headerShown: false, statusBarColor: LIGTHT_THEME.color.primary, statusBarColor: LIGHT_THEME.color.primary, }} /> <Stack.Screen Loading @@ -67,25 +77,31 @@ const MainLayout = () => { name="scan" options={{ title: "Scan", statusBarColor: LIGTHT_THEME.color.primary, statusBarColor: LIGHT_THEME.color.primary, headerStyle: { backgroundColor: LIGTHT_THEME.color.primary, backgroundColor: LIGHT_THEME.color.primary, }, headerTitleStyle: { color: LIGTHT_THEME.color.white, color: LIGHT_THEME.color.white, }, headerTitleAlign: "center", headerTintColor: LIGTHT_THEME.color.white, headerTintColor: LIGHT_THEME.color.white, }} /> <Stack.Screen name="travel_history" options={{ <Stack.Screen name="travel_history" options={{ headerShown: false, statusBarColor: LIGTHT_THEME.color.primary, }}/> <Stack.Screen name="routes/generate_route" options={{ statusBarColor: LIGHT_THEME.color.primary, }} /> <Stack.Screen name="routes/generate_route" options={{ headerShown: false, statusBarColor: LIGTHT_THEME.color.primary, }}/> statusBarColor: LIGHT_THEME.color.primary, }} /> </Stack> ); };
mobile/app/profile/_layout.tsx +22 −1 Original line number Diff line number Diff line import { Stack } from "expo-router"; import { LIGHT_THEME } from "../../src/common/constants/theme"; export default function Layout() { return ( <Stack> <Stack screenOptions={{ headerStyle: { backgroundColor: LIGHT_THEME.color.primary, }, headerTitleStyle: { color: LIGHT_THEME.color.white, }, headerTitleAlign: "center", headerTintColor: LIGHT_THEME.color.white, statusBarColor: LIGHT_THEME.color.primary, }} > <Stack.Screen name="edit" options={{ title: "Edit Profile", headerShown: true, }}/> <Stack.Screen name="interests" options={{ title: "Interests", headerShown: true, }}/> <Stack.Screen name="set_up" options={{ title: "Set Up Profile", headerShown: true, }}/> </Stack> ); } No newline at end of file