From 3e72943dd08881c081d1692e50b72ffdcba926c2 Mon Sep 17 00:00:00 2001 From: l2juhan Date: Fri, 19 Dec 2025 01:24:10 +0900 Subject: [PATCH 01/10] =?UTF-8?q?=EB=AC=B8=EB=B2=95=20=EC=98=A4=EB=A5=98?= =?UTF-8?q?=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/clothesApi.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/api/clothesApi.js b/src/api/clothesApi.js index fd38297..84bb390 100644 --- a/src/api/clothesApi.js +++ b/src/api/clothesApi.js @@ -386,11 +386,6 @@ export async function filterClothes(keyword = "", styles = [], priceRangeCodes = const response = await apiRequestGet(url); const result = await response.json(); - isSuccess: result.isSuccess, - message: result.message, - fullResult: result, - clothesListLength: result.result?.clothesList?.length || 0 - }); if (response.status === 200 && result.isSuccess === true) { return result.result; // { clothesList, listSize, totalPage, totalElements, isFirst, isLast } From 435a34a81959e8da5458fdb048ba8281df06daec Mon Sep 17 00:00:00 2001 From: l2juhan Date: Fri, 19 Dec 2025 01:37:47 +0900 Subject: [PATCH 02/10] =?UTF-8?q?HashRouter=20->=20BrowserRouter=20?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.jsx | 6 +++--- src/pages/auth/AuthStartPage.jsx | 27 +++++++++++++++++++++++++-- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/main.jsx b/src/main.jsx index 7ed8a5f..4248dbf 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -1,6 +1,6 @@ import React from "react"; import ReactDOM from "react-dom/client"; -import { HashRouter } from "react-router-dom"; +import { BrowserRouter } from "react-router-dom"; import { Provider } from "react-redux"; import App from "./App.jsx"; import "./styles/global.css"; @@ -13,10 +13,10 @@ setStoreGetter(() => store); ReactDOM.createRoot(document.getElementById('root')).render( - + - + ); diff --git a/src/pages/auth/AuthStartPage.jsx b/src/pages/auth/AuthStartPage.jsx index ba39713..4329808 100644 --- a/src/pages/auth/AuthStartPage.jsx +++ b/src/pages/auth/AuthStartPage.jsx @@ -15,8 +15,25 @@ const buildKakaoAuthUrl = () => { export default function AuthStartPage() { const navigate = useNavigate(); - const handleKakaoLogin = () => { + const handleKakaoLogin = (e) => { + e.preventDefault(); + e.stopPropagation(); + + const REST_API_KEY = import.meta.env.VITE_KAKAO_REST_API_KEY; + const REDIRECT_URI = import.meta.env.VITE_KAKAO_REDIRECT_URI; + + if (!REST_API_KEY || !REDIRECT_URI) { + console.error('카카오 로그인 환경 변수가 설정되지 않았습니다.'); + return; + } + const kakaoAuthUrl = buildKakaoAuthUrl(); + + if (!kakaoAuthUrl || !kakaoAuthUrl.includes('kauth.kakao.com')) { + console.error('카카오 인증 URL이 올바르지 않습니다:', kakaoAuthUrl); + return; + } + window.location.href = kakaoAuthUrl; }; @@ -59,7 +76,13 @@ export default function AuthStartPage() { className="auth-start__kakao-button" onClick={handleKakaoLogin} > - 카카오 로고 + 카카오 로고 e.preventDefault()} + /> From 041cd90c9bb1e2887557b4161562e49077470837 Mon Sep 17 00:00:00 2001 From: l2juhan Date: Fri, 19 Dec 2025 01:45:11 +0900 Subject: [PATCH 03/10] =?UTF-8?q?fix:=EC=B1=84=ED=8C=85=EB=B0=A9=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=20=EC=8B=9C=20=EC=B1=84=ED=8C=85=20=EB=B9=84?= =?UTF-8?q?=ED=99=9C=EC=84=B1=ED=99=94=20=EB=B0=8F=20=ED=8C=90=EB=A7=A4?= =?UTF-8?q?=EC=9E=90=20=EB=B2=84=ED=8A=BC=20=ED=99=9C=EC=84=B1=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/Chat/ChatRoomPage.jsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/pages/Chat/ChatRoomPage.jsx b/src/pages/Chat/ChatRoomPage.jsx index 6d6abc7..e3a0519 100644 --- a/src/pages/Chat/ChatRoomPage.jsx +++ b/src/pages/Chat/ChatRoomPage.jsx @@ -198,8 +198,7 @@ function ChatRoomPage() { // tradeStatus에 따른 입력창 비활성화 // BUYER이고 REQUESTED 상태일 때, 또는 SELLER이고 REQUESTED 상태일 때 비활성화 const isInputDisabled = - (isBuyer && tradeStatus === "REQUESTED") || - (isSeller && tradeStatus === "REQUESTED") || + tradeStatus === "REQUESTED" || orderStatus === "REQUESTED"; // 구매자 버튼 상태 (BUYER일 때만) @@ -483,9 +482,9 @@ function ChatRoomPage() { - {/* 구매 취소 버튼 (REQUESTED, MATCHED, SELLING 상태일 때만 표시) */} - {tradeStatus && (tradeStatus === "REQUESTED" || tradeStatus === "MATCHED" || tradeStatus === "SELLING") && ( + {/* 구매 취소 버튼 (REQUESTED, MATCHED 상태일 때만 표시) */} + {currentOrderStatus && (currentOrderStatus === "REQUESTED" || currentOrderStatus === "MATCHED") && ( )} - {/* 물품 전달 완료 버튼 (매칭확정 상태이고 결제 완료된 경우만 표시) */} - {order.status === "MATCHED" && order.isPaid && ( + {/* 물품 전달 완료 버튼 (매칭확정 상태에서 항상 표시) */} + {order.status === "MATCHED" && ( )} - {/* 물품 전달 완료 버튼 (매칭확정 상태에서 항상 표시) */} - {order.status === "MATCHED" && ( + {/* 물품 전달 완료 버튼 (판매중 상태가 아닐 때 항상 표시) */} + {order.status !== "ON_SALE" && ( )} - {/* 물품 전달 완료 버튼 (판매중 상태가 아닐 때 항상 표시) */} - {order.status !== "ON_SALE" && ( + {/* 물품 전달 완료 버튼 (판매중, 판매완료 상태가 아닐 때만 표시) */} + {order.status !== "ON_SALE" && order.status !== "COMPLETED" && (