diff --git a/src/components/HomeLayout.tsx b/src/components/HomeLayout.tsx index 80b5dcaa80dfbdc56c703b3035116be4fb5180e0..8662252c91c271d4a7d7e00e71bc37bb7d9123fc 100644 --- a/src/components/HomeLayout.tsx +++ b/src/components/HomeLayout.tsx @@ -1,28 +1,24 @@ import { useUser } from "@/utils/context/AuthProvider"; -import { useEffect, useState } from "react"; +import { useEffect } from "react"; import { Outlet, useNavigate } from "react-router-dom"; function HomeLayout() { const { user, status } = useUser(); - const [showingLoading, setShowingLoading] = useState(true); const nav = useNavigate(); useEffect(() => { if (user && status === "success") { nav("/"); } - - if (status === "success") { - setTimeout(() => { - setShowingLoading(false), 1000; - }); - } }, [user, nav, status]); - if (showingLoading) { - <div className="bg-black/50 w-screen h-screen flex flex-col items-center justify-center"> - Loading - </div>; + if (status === "loading") { + return ( + <div className="bg-black/50 w-screen h-screen flex flex-col items-center justify-center"> + Loading + </div> + ); } + return ( <div className="min-h-screen w-screen flex flex-col items-center justify-center"> <main> diff --git a/src/components/ProtectedLayout.tsx b/src/components/ProtectedLayout.tsx index 1f7aa9e60fe5bc6be2f2dc6c9699ac3b198c557b..c76d3619797c66598eaa9198b096892d1ed7f952 100644 --- a/src/components/ProtectedLayout.tsx +++ b/src/components/ProtectedLayout.tsx @@ -2,29 +2,24 @@ import NavWrapper from "@/components/NavWrapper"; import { useUser } from "@/utils/context/AuthProvider"; import GymApplicationProvider from "@/utils/context/GymApplicationProvider"; import GymProvider from "@/utils/context/GymProvider"; -import { useEffect, useState } from "react"; +import { useEffect } from "react"; import { useNavigate, Outlet } from "react-router-dom"; function ProtectedLayout() { const { user, status } = useUser(); - const [showingLoading, setShowingLoading] = useState(true); const nav = useNavigate(); useEffect(() => { - if (!user && status === "success") { + if ((!user && status === "success") || status === "error") { nav("/login"); } - - if (status === "success") { - setTimeout(() => { - setShowingLoading(false), 1000; - }); - } }, [user, nav, status]); - if (showingLoading) { - <div className="bg-black/50 w-screen h-screen flex flex-col items-center justify-center"> - Loading - </div>; + if (!user) { + return ( + <div className="bg-black/50 w-screen h-screen flex flex-col items-center justify-center"> + Loading + </div> + ); } return (