From 8cfed823b65de2d9ef93c6b3f1d328f6c2eab95d Mon Sep 17 00:00:00 2001 From: k-impossible Date: Tue, 15 Apr 2025 10:12:15 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[#193]fix:=20=EC=BF=A0=ED=82=A4=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=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/actions/user-check-action.ts | 3 +++ src/actions/user-signin-action.ts | 16 +++------------- .../_components/GatheringDetailInformation.tsx | 4 +++- src/app/login/_components/LoginForm.tsx | 17 +++++++++++------ 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/actions/user-check-action.ts b/src/actions/user-check-action.ts index fbadd99b..62993cb6 100644 --- a/src/actions/user-check-action.ts +++ b/src/actions/user-check-action.ts @@ -21,16 +21,19 @@ const userCheckAction = async (token: string) => { // 유저 정보 받아와서 image null 처리 const resUser: IUser = await response.json(); resUser.image = resUser.image || ""; + return { status: true, user: resUser, error: "", + token: token, }; } catch (err) { return { status: false, user: null, error: `${(err as Error).message}`, + token: null, }; } }; diff --git a/src/actions/user-signin-action.ts b/src/actions/user-signin-action.ts index 01fcb761..757dcee9 100644 --- a/src/actions/user-signin-action.ts +++ b/src/actions/user-signin-action.ts @@ -24,32 +24,22 @@ const userSignInAction = async (_: any, formData: FormData) => { // 토큰 받아오기 실패 if (!response.ok) { const errorText = await response.text(); - console.error("API 응답 오류:", errorText); throw new Error(errorText); } - // 토큰을 받아오면 쿠키에 저장 const res = await response.json(); // 유저 정보 확인 - const chkResult = await userCheckAction(res.token); - - // 유저 정보 확인 성공 - if (!chkResult.status) { - throw new Error(chkResult.error); - } + const state = await userCheckAction(res.token); // 성공시 유저 정보 반환 - return { - status: true, - error: "", - user: chkResult.user, - }; + return state; } catch (err) { return { status: false, error: `${(err as Error).message}`, user: null, + token: null, }; } }; diff --git a/src/app/gathering/detail/[id]/_components/GatheringDetailInformation.tsx b/src/app/gathering/detail/[id]/_components/GatheringDetailInformation.tsx index 8a23bc52..0a6743fd 100644 --- a/src/app/gathering/detail/[id]/_components/GatheringDetailInformation.tsx +++ b/src/app/gathering/detail/[id]/_components/GatheringDetailInformation.tsx @@ -32,7 +32,9 @@ const GatheringDetailInformation = ({

{name}

-

{location}

+

+ {location === "홍대입구" ? "온라인" : location} +

diff --git a/src/app/login/_components/LoginForm.tsx b/src/app/login/_components/LoginForm.tsx index 0fb659db..ce5f9d58 100644 --- a/src/app/login/_components/LoginForm.tsx +++ b/src/app/login/_components/LoginForm.tsx @@ -18,6 +18,7 @@ import useFavorite from "@/hooks/useFavorite"; import { useModal } from "@/hooks/useModal"; import { LoginFormSchema } from "@/schemas/loginJoinSchema"; import useUserStore from "@/stores/useUserStore"; +import { setCookieOfToken } from "@/utils/cookieToken"; import { IRegisterWithValidation, @@ -68,12 +69,16 @@ const LoginForm = () => { } setIsSubmitting(false); } else if (state && state.status && state.user) { - setUserState(state.user); - - // 로그인 유저의 즐겨찾기 목록 가져오기 - setFavoriteInitValue(state.user?.email); - - router.replace("/"); + setCookieOfToken(state.token) + .then(() => { + setUserState(state.user!); + setFavoriteInitValue(state.user!.email); + router.replace("/"); + }) + .catch(error => { + setAlertMessage("쿠키 설정 오류: " + error.message); + onOpen(); + }); } // eslint-disable-next-line react-hooks/exhaustive-deps From 76d2343ee5ae0b102865abebcd95d59f777c9470 Mon Sep 17 00:00:00 2001 From: k-impossible Date: Tue, 15 Apr 2025 10:15:58 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[#193]fix:=20PR=20Check=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/cookieToken.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/cookieToken.ts b/src/utils/cookieToken.ts index 1fd802a6..65b9f79e 100644 --- a/src/utils/cookieToken.ts +++ b/src/utils/cookieToken.ts @@ -8,7 +8,7 @@ export const setCookieOfToken = async (token: string): Promise => { value: token, httpOnly: true, path: "/", - maxAge: 60 * 60, // 1시간 + maxAge: 60 * 60, // 1시간. secure: process.env.NODE_ENV === "production", sameSite: "lax", });