From 7149edfb8d3e3f07f2490f8150d223fea0fc869c Mon Sep 17 00:00:00 2001 From: seyun31 <2ne1jenna@naver.com> Date: Sun, 1 Feb 2026 00:45:27 +0900 Subject: [PATCH] =?UTF-8?q?hotfix:=20=EC=B2=98=EC=9D=8C=20=EC=A0=91?= =?UTF-8?q?=EC=86=8D=EC=8B=9C=20=EC=9D=B4=EB=8F=99=20=EA=B2=BD=EB=A1=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/routes/_main.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/routes/_main.tsx b/app/routes/_main.tsx index 5617750..ff27619 100644 --- a/app/routes/_main.tsx +++ b/app/routes/_main.tsx @@ -1,12 +1,21 @@ -import { Outlet } from "react-router"; -import { useState } from "react"; +import { Outlet, useNavigate } from "react-router"; +import { useState, useEffect } from "react"; import BottomTab from "../components/layout/BottomTab"; import { LayoutContext } from "./layout-context"; import Logo from "../assets/logo/RealMatchLogo_ex.svg"; +import { tokenStorage } from "../lib/token"; export default function MainLayout() { const [hideBottomTab, setHideBottomTab] = useState(false); const [hideHeader, setHideHeader] = useState(false); + const navigate = useNavigate(); + + useEffect(() => { + const accessToken = tokenStorage.getAccessToken(); + if (!accessToken) { + navigate("/auth/login"); + } + }, [navigate]); return (