diff --git a/com.twin.app.shoptime/src/utils/Config.js b/com.twin.app.shoptime/src/utils/Config.js index d02b9321..9be17c52 100644 --- a/com.twin.app.shoptime/src/utils/Config.js +++ b/com.twin.app.shoptime/src/utils/Config.js @@ -46,8 +46,10 @@ export const panel_names = { // 단독으로 렌더링되어야 하는 패널 목록 // 이 패널들은 항상 isOnTop=true로 설정되고 다른 패널들과 함께 표시되지 않음 export const STANDALONE_PANELS = [ - panel_names.CHECKOUT_PANEL, - panel_names.CART_PANEL, + panel_names.CHECKOUT_PANEL, // 주문 결제 페이지 + panel_names.CART_PANEL, // 장바구니 + panel_names.CONFIRM_PANEL, // 주문 완료 페이지 + panel_names.MY_PAGE_PANEL, // 마이페이지 (주문 조회 포함) panel_names.JUST_FOR_YOU_TEST_PANEL, // 향후 추가될 다른 단독 패널들 여기에 추가 ]; diff --git a/com.twin.app.shoptime/src/views/CheckOutPanel/components/PinCodeInput.jsx b/com.twin.app.shoptime/src/views/CheckOutPanel/components/PinCodeInput.jsx index 81e9cea1..89c69495 100644 --- a/com.twin.app.shoptime/src/views/CheckOutPanel/components/PinCodeInput.jsx +++ b/com.twin.app.shoptime/src/views/CheckOutPanel/components/PinCodeInput.jsx @@ -236,6 +236,10 @@ export default function PinCodeInput({ setIsOrderSuccessful(true); setPlaceOrderPopup(false); + // 🔴 CRITICAL: CheckOutPanel 제거 (ConfirmPanel push 전) + // CheckOutPanel이 stack에 남아있으면 다음 주문 시 문제 발생 + dispatch(popPanel(Config.panel_names.CHECKOUT_PANEL)); + // 바로 ConfirmPanel로 이동 dispatch( pushPanel({ @@ -314,6 +318,10 @@ export default function PinCodeInput({ dispatch(sendLogTotalRecommend({ ...params, status: "true" })); setIsOrderSuccessful(true); setPlaceOrderPopup(false); + + // 🔴 CRITICAL: CheckOutPanel 제거 (API Mode - ConfirmPanel push 전) + dispatch(popPanel(Config.panel_names.CHECKOUT_PANEL)); + dispatch( pushPanel({ name: Config.panel_names.CONFIRM_PANEL, diff --git a/com.twin.app.shoptime/src/views/ConfirmPanel/ConfirmPanel.jsx b/com.twin.app.shoptime/src/views/ConfirmPanel/ConfirmPanel.jsx index 942da87f..4b5cd986 100644 --- a/com.twin.app.shoptime/src/views/ConfirmPanel/ConfirmPanel.jsx +++ b/com.twin.app.shoptime/src/views/ConfirmPanel/ConfirmPanel.jsx @@ -103,6 +103,9 @@ export default function ConfirmPanel({ spotlightId }) { }, [dispatch, myOrder]); const handleContinueClick = useCallback(() => { + // 🔴 CRITICAL: ConfirmPanel은 STANDALONE_PANEL이므로 혼자만 있음 + // "계속 쇼핑"은 모든 패널을 초기화하고 처음부터 시작하는 의미 + // resetPanels()로 모든 패널 초기화 → HomePanel로 돌아가기 dispatch(resetPanels()); dispatch(popPanel()); }, [dispatch]);