From db4b742bbc5405ceb77be814755c5dff8b48ff8f Mon Sep 17 00:00:00 2001 From: Emithen <86219540+Emithen@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:02:39 +0900 Subject: [PATCH 1/3] fix: hide for release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 콘솔에 각종 데이터 노출되는 코드 삭제함 --- src/api/axiosInstance.ts | 11 ++++------- src/api/register.ts | 5 ----- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/src/api/axiosInstance.ts b/src/api/axiosInstance.ts index d0e1027..07cea2b 100644 --- a/src/api/axiosInstance.ts +++ b/src/api/axiosInstance.ts @@ -1,5 +1,5 @@ import axios from "axios"; -import { setToken } from "../utils/jwt"; +import { setToken, removeToken } from "../utils/jwt"; const API_URL = "https://keunsori-api.everdu.com/"; @@ -44,19 +44,16 @@ axiosInstance.interceptors.response.use( { headers: { "Refresh-Token": refreshToken } } ); - console.log("성공했다잉:", data); - setToken(data); - console.log("이제 다시 요청할게"); - console.log("악쎄스 토큰 여기: ", localStorage.getItem("accessToken")); const newAccessToken = localStorage.getItem("accessToken"); + originalRequest.headers.Authorization = `Bearer ${newAccessToken}`; + return axiosInstance(originalRequest); } catch (refreshError) { console.error("토큰 갱신 실패", refreshError); - localStorage.removeItem("accessToken"); - localStorage.removeItem("refreshToken"); + removeToken(); window.location.href = "/login"; return Promise.reject(refreshError); } diff --git a/src/api/register.ts b/src/api/register.ts index 9299fc9..f7ca5a6 100644 --- a/src/api/register.ts +++ b/src/api/register.ts @@ -8,12 +8,7 @@ export const registerUser = async (data: { passwordConfirm: string; }) => { try { - console.log("request content: ", data); const response = await axiosInstance.post("/signup", data); - - //test code - console.log("이게 status 임: ", response.status); - return response.data; } catch (error) { console.error("error: ", error); From 845f98c2817b43bd0d38ac1af7a1cbdfe945057b Mon Sep 17 00:00:00 2001 From: Emithen <86219540+Emithen@users.noreply.github.com> Date: Sun, 2 Feb 2025 19:28:16 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20?= =?UTF-8?q?=EC=88=A8=EA=B8=B0=EA=B8=B0=20/=20=EC=BD=98=EC=86=94=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Book/Application/DropBox.tsx | 2 +- src/components/Book/Application/Reservation.tsx | 4 ++-- src/components/Book/CurrentBook.tsx | 1 - src/contexts/AuthContext.tsx | 1 - 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/components/Book/Application/DropBox.tsx b/src/components/Book/Application/DropBox.tsx index 0ce2bf8..bd9b49a 100644 --- a/src/components/Book/Application/DropBox.tsx +++ b/src/components/Book/Application/DropBox.tsx @@ -120,7 +120,7 @@ const TeamDropBox: React.FC = ({ onClick }) => { ); }; -const ArrowButton = styled.button` +const ArrowButton = styled.div` font-size: 10px; color: #000; background-color: transparent; diff --git a/src/components/Book/Application/Reservation.tsx b/src/components/Book/Application/Reservation.tsx index eab9f04..76bcefd 100644 --- a/src/components/Book/Application/Reservation.tsx +++ b/src/components/Book/Application/Reservation.tsx @@ -196,7 +196,7 @@ const Reservation: React.FC = ({ {selectedSlots.map((slot, index) => ( - <> +
= ({ } >
- +
))}
diff --git a/src/components/Book/CurrentBook.tsx b/src/components/Book/CurrentBook.tsx index 95c401b..50eda42 100644 --- a/src/components/Book/CurrentBook.tsx +++ b/src/components/Book/CurrentBook.tsx @@ -65,7 +65,6 @@ const CurrentBook: React.FC = () => { async function fetchData() { const token = localStorage.getItem("accessToken"); - console.log(`Token: ${token}`); try { const response = await axiosInstance.get( `/reservation/list?month=${formatDate(date)}`, diff --git a/src/contexts/AuthContext.tsx b/src/contexts/AuthContext.tsx index c2dcbfe..3acaf89 100644 --- a/src/contexts/AuthContext.tsx +++ b/src/contexts/AuthContext.tsx @@ -51,7 +51,6 @@ export const AuthProvider: React.FC = ({ children }) => { setUser({ isLoggedIn: true }); return { success: true }; } catch (error) { - console.log(" 일단 에러 받았어~ "); if (axios.isAxiosError(error)) { console.error("login failed:", error.response?.data || error.message); From 717a09157f1c863e9b9359ce224591c265fcb03d Mon Sep 17 00:00:00 2001 From: Emithen <86219540+Emithen@users.noreply.github.com> Date: Sun, 2 Feb 2025 20:16:24 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=EC=83=88=EB=A1=9C=EA=B3=A0=EC=B9=A8?= =?UTF-8?q?=20=EC=9D=B4=EC=8A=88=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ProtectedRoute.tsx | 18 ++++++++++-------- src/contexts/AuthContext.tsx | 12 ++++++------ 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/components/ProtectedRoute.tsx b/src/components/ProtectedRoute.tsx index 297a4f9..6004c74 100644 --- a/src/components/ProtectedRoute.tsx +++ b/src/components/ProtectedRoute.tsx @@ -1,15 +1,17 @@ import { Navigate, Outlet } from "react-router-dom"; import { useContext } from "react"; -import {AuthContext} from "../contexts/AuthContext"; +import { AuthContext } from "../contexts/AuthContext"; const ProtectedRoute = () => { - const { user } = useContext(AuthContext); + const { user, isLoading } = useContext(AuthContext); - if (!user?.isLoggedIn) { - return ; - } + // ✅ 로딩 중이면 아무것도 렌더링하지 않음 (or 로딩 UI 표시 가능) + if (isLoading) { + return null; // 👈 로딩 중에는 리디렉트 X + } - return ; -} + // ✅ 로그인 상태 확인 후 접근 허용 또는 리디렉트 + return user.isLoggedIn ? : ; +}; -export default ProtectedRoute; \ No newline at end of file +export default ProtectedRoute; diff --git a/src/contexts/AuthContext.tsx b/src/contexts/AuthContext.tsx index 3acaf89..d88c150 100644 --- a/src/contexts/AuthContext.tsx +++ b/src/contexts/AuthContext.tsx @@ -5,6 +5,7 @@ import axios from "axios"; interface AuthContextProps { user: User; + isLoading: boolean; loginUser: ( studentId: string, password: string @@ -22,22 +23,21 @@ interface User { export const AuthContext = createContext({ user: { isLoggedIn: false }, + isLoading: true, loginUser: async () => ({ success: false, message: "초기값" }), logoutUser: () => {}, }); export const AuthProvider: React.FC = ({ children }) => { const [user, setUser] = useState({ isLoggedIn: false }); + const [isLoading, setIsLoading] = useState(true); useEffect(() => { const token = getToken(); if (token) { - setUser({ isLoggedIn: false }); - - // getUserData(token) - // .then(setUser) - // .catch(() => removeToken()); + setUser({ isLoggedIn: true }); + setIsLoading(false); } }, []); @@ -71,7 +71,7 @@ export const AuthProvider: React.FC = ({ children }) => { }; return ( - + {children} );