diff --git a/app/segments/(team)/chooseTeam.js b/app/segments/(team)/chooseTeam.js index 1d11662a..72d6a842 100644 --- a/app/segments/(team)/chooseTeam.js +++ b/app/segments/(team)/chooseTeam.js @@ -18,6 +18,7 @@ import { useAuthContext } from "~/context/Auth"; import { addToTeam } from "~/dbOperations/addToTeam"; import { addToWaitlist } from "~/dbOperations/addToWaitlist"; import { useBlackList } from "~/dbOperations/hooks/useBlackList"; +import { useUserInfo } from "~/dbOperations/hooks/useUserInfo"; import { useWaitlist } from "~/dbOperations/hooks/useWaitlist"; import { invalidateMultipleKeys } from "~/dbOperations/invalidateMultipleKeys"; import { auth } from "~/firebaseConfig"; @@ -46,6 +47,9 @@ function ChooseTeam() { isLoading: waitlistIsLoading, } = useWaitlist(); + //basically to trigger the side effect that navigates off this page + useUserInfo({ userId: currentUserId }); + const state = useMemo(() => { if (blacklist && blacklist[currentUserId]) { return "blacklist"; diff --git a/dbOperations/hooks/useUserInfo.js b/dbOperations/hooks/useUserInfo.js index 6e626e82..bacd5898 100644 --- a/dbOperations/hooks/useUserInfo.js +++ b/dbOperations/hooks/useUserInfo.js @@ -1,5 +1,5 @@ import { useQuery } from "@tanstack/react-query"; -import { router } from "expo-router"; +import { router, useSegments } from "expo-router"; import { collection, doc, @@ -18,6 +18,7 @@ export const useUserInfo = ({ role = null, enabled = true, } = {}) => { + const segments = useSegments(); const { currentTeamId, currentUserId, currentUserVerified } = useAuthContext(); const week_milliseconds = 604800000; @@ -44,8 +45,10 @@ export const useUserInfo = ({ console.log("e", getErrorString(e)); } + const inChooseTeam = segments.at(-1) === "chooseTeam"; + if (!data || !currentUserVerified) { - if (currentUserId === userId) { + if (currentUserId === userId && !inChooseTeam) { router.replace("segments/(team)/chooseTeam"); } return { @@ -57,6 +60,10 @@ export const useUserInfo = ({ uniqueDrills: [], }; } + if (inChooseTeam) { + router.replace("content/assignments"); + } + const filteredAssignedData = data.assigned_data.filter((assignment) => { const timeDifference = currentDateTime - assignment.assignedTime; return timeDifference <= week_milliseconds;