diff --git a/frontend/app/search/page.tsx b/frontend/app/search/page.tsx index 27cba07ce233..dd6c74ad18e5 100644 --- a/frontend/app/search/page.tsx +++ b/frontend/app/search/page.tsx @@ -1,6 +1,6 @@ "use client"; import { usePathname } from "next/navigation"; -import { useLayoutEffect, useState } from "react"; +import { useEffect, useState } from "react"; import { QuivrLogo } from "@/lib/assets/QuivrLogo"; import { AddBrainModal } from "@/lib/components/AddBrainModal"; @@ -20,7 +20,7 @@ import { ButtonType } from "@/lib/types/QuivrButton"; import styles from "./page.module.scss"; const Search = (): JSX.Element => { - const [isPageLoaded, setIsPageLoaded] = useState(false); + const [isUserDataFetched, setIsUserDataFetched] = useState(false); const pathname = usePathname(); const { session } = useSupabase(); const { isBrainCreationModalOpened, setIsBrainCreationModalOpened } = @@ -28,11 +28,15 @@ const Search = (): JSX.Element => { const { userIdentityData } = useUserData(); const { isDarkMode } = useUserSettingsContext(); - useLayoutEffect(() => { + useEffect(() => { + if (userIdentityData) { + setIsUserDataFetched(true); + } + }, [userIdentityData]); + + useEffect(() => { if (session === null) { redirectToLogin(); - } else { - setTimeout(() => setIsPageLoaded(true), 1000); } }, [pathname, session]); @@ -80,7 +84,7 @@ const Search = (): JSX.Element => { {!isBrainCreationModalOpened && !userIdentityData?.onboarded && - !!isPageLoaded && ( + !!isUserDataFetched && (