From 53aa879ee54a3d8c7571f67f663bc7bdf4c5a985 Mon Sep 17 00:00:00 2001 From: "junghoon86.park" Date: Wed, 10 Dec 2025 12:39:31 +0900 Subject: [PATCH 1/3] [checkout panel] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 배송정보, 주문정보, 카드정보 없을시 qr팝업 노출되도록 수정. - qr팝업 닫혔을때 상품 상세페이지로 이동하도록 처리. --- .../container/InformationContainer.jsx | 41 +++++++++++++------ 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/com.twin.app.shoptime/src/views/CheckOutPanel/container/InformationContainer.jsx b/com.twin.app.shoptime/src/views/CheckOutPanel/container/InformationContainer.jsx index ede5c703..f29e3e7a 100644 --- a/com.twin.app.shoptime/src/views/CheckOutPanel/container/InformationContainer.jsx +++ b/com.twin.app.shoptime/src/views/CheckOutPanel/container/InformationContainer.jsx @@ -20,7 +20,10 @@ import { setShowPopup, } from '../../../actions/commonActions'; import { sendLogTotalRecommend } from '../../../actions/logActions'; -import { popPanel } from '../../../actions/panelActions'; +import { + popPanel, + pushPanel, +} from '../../../actions/panelActions'; import TButton from '../../../components/TButton/TButton'; import TPopUp from '../../../components/TPopUp/TPopUp'; import TQRCode from '../../../components/TQRCode/TQRCode'; @@ -249,13 +252,25 @@ export default function InformationContainer({ ); const handleCancel = useCallback(() => { - dispatch(setHidePopup()); - }, [dispatch]); - - const handleDone = useCallback(() => { - dispatch(setHidePopup()); + // dispatch(setHidePopup()); + const { patnrId, prdtId } = checkoutData.productList[0]; dispatch(popPanel()); - }, [dispatch]); + dispatch( + pushPanel({ + name: Config.panel_names.DETAIL_PANEL, + panelInfo: { patnrId, prdtId }, + }) + ); + }, [dispatch, checkoutData]); + + const { shippingAddressList, billingAddressList, cardInfo } = checkoutData || {}; + + useEffect(() => { + if (!shippingAddressList || !billingAddressList || !cardInfo) { + // if (shippingAddressList || billingAddressList || cardInfo) { //확인용도로 반대로 테스트중. + dispatch(setShowPopup(Config.ACTIVE_POPUP.qrPopup)); + } + }, [shippingAddressList, billingAddressList, cardInfo, dispatch]) return ( <> @@ -282,8 +297,8 @@ export default function InformationContainer({ > ADD/EDIT - {checkoutData?.shippingAddressList && ( - + {shippingAddressList && ( + )}
@@ -300,8 +315,8 @@ export default function InformationContainer({ {/*
Mock Billing Address
*/} - {checkoutData?.billingAddressList && ( - + {billingAddressList && ( + )}
@@ -314,7 +329,7 @@ export default function InformationContainer({ > ADD/EDIT - {checkoutData?.cardInfo && } + {cardInfo && }
@@ -355,7 +370,7 @@ export default function InformationContainer({ 'Please update your information and complete the payment on your mobile. By clicking the OK button, you will be redirected to the product details page' )} - + {$L('OK')}
From 39d1b42ec4dd6136c4c62c90b681626ce26793a1 Mon Sep 17 00:00:00 2001 From: "junghoon86.park" Date: Wed, 10 Dec 2025 12:47:33 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[=EC=83=81=EC=84=B8=20=ED=97=A4=EB=8D=94]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 파트너 아이디가 21일경우 id 값 노출안되도록 변경(2025.12.10 오현주 팀장님 요청건) --- .../src/views/DetailPanel/components/THeaderCustom.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/com.twin.app.shoptime/src/views/DetailPanel/components/THeaderCustom.jsx b/com.twin.app.shoptime/src/views/DetailPanel/components/THeaderCustom.jsx index 32b7380d..efa6abf8 100644 --- a/com.twin.app.shoptime/src/views/DetailPanel/components/THeaderCustom.jsx +++ b/com.twin.app.shoptime/src/views/DetailPanel/components/THeaderCustom.jsx @@ -77,7 +77,7 @@ export default function THeaderCustom({ if(onBackButtonFocus){ onBackButtonFocus(); } - },[onBackButtonFocus]) + },[onBackButtonFocus]) return ( @@ -113,7 +113,7 @@ export default function THeaderCustom({ marqueeDisabled={marqueeDisabled} aria-label={ariaLabel} > - {prdtId && ID : {prdtId}} + {(prdtId && patnrId !== "21") && ID : {prdtId}} {convertedTitle && ( )} From d545a4de0c09cbb15088d0f75a6f773f2b60aeaa Mon Sep 17 00:00:00 2001 From: "junghoon86.park" Date: Wed, 10 Dec 2025 12:53:48 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[=EC=83=81=ED=92=88=20=EC=83=81=EC=84=B8]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - price 파트너사 붙는쪽에 nbcu일 경우 peacoke | ******* 로 들어오는 부분때문에 변경. --- .../ShopByMobilePriceDisplay.jsx | 43 ++++++++++++------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/com.twin.app.shoptime/src/views/DetailPanel/ProductOverview/ProductPriceDisplay/ShopByMobilePriceDisplay/ShopByMobilePriceDisplay.jsx b/com.twin.app.shoptime/src/views/DetailPanel/ProductOverview/ProductPriceDisplay/ShopByMobilePriceDisplay/ShopByMobilePriceDisplay.jsx index a46fb901..05f56851 100644 --- a/com.twin.app.shoptime/src/views/DetailPanel/ProductOverview/ProductPriceDisplay/ShopByMobilePriceDisplay/ShopByMobilePriceDisplay.jsx +++ b/com.twin.app.shoptime/src/views/DetailPanel/ProductOverview/ProductPriceDisplay/ShopByMobilePriceDisplay/ShopByMobilePriceDisplay.jsx @@ -9,6 +9,12 @@ import usePriceInfo from '../../../../../hooks/usePriceInfo'; import { $L } from '../../../../../utils/helperMethods'; import css from './ShopByMobilePriceDisplay.module.less'; +// 파트너명에서 "Peacock | Shop The Moment" 형식일 때 "Peacock"만 추출 +const extractPartnerName = (name) => { + if (!name) return name; + return name.includes(' | ') ? name.split(' | ')[0].trim() : name; +}; + export default function ShopByMobilePriceDisplay({ priceData, priceInfo, @@ -26,6 +32,10 @@ export default function ShopByMobilePriceDisplay({ orderPhnNo, } = priceData; + // 파트너명 정규화 + const cleanPatncNm = useMemo(() => extractPartnerName(patncNm), [patncNm]); + const cleanPatnrName = useMemo(() => extractPartnerName(patnrName), [patnrName]); + const { discountRate, rewardFlag, @@ -50,6 +60,8 @@ export default function ShopByMobilePriceDisplay({ [isOriginalPriceEmpty, isDiscountedPriceEmpty, price5, offerInfo] ); + + const renderPriceItem = useCallback(() => { if (priceData && !promotionCode) { if (rewd) { @@ -57,9 +69,9 @@ export default function ShopByMobilePriceDisplay({
- {patncNm - ? patncNm + " " + $L("Price") + " " - : patnrName + " " + $L("Price") + " "} + {cleanPatncNm + ? cleanPatncNm + " " + $L("Price") + " " + : cleanPatnrName + " " + $L("Price") + " "} {TYPE_CASE.case5 || TYPE_CASE.case8 @@ -95,9 +107,9 @@ export default function ShopByMobilePriceDisplay({ return (
- {patncNm - ? patncNm + " " + $L("Price") - : patnrName + " " + $L("Price")} + {cleanPatncNm + ? cleanPatncNm + " " + $L("Price") + : cleanPatnrName + " " + $L("Price")}
@@ -111,9 +123,9 @@ export default function ShopByMobilePriceDisplay({
- {patncNm - ? patncNm + " " + $L("Price") - : patnrName + $L("Price")} + {cleanPatncNm + ? cleanPatncNm + " " + $L("Price") + : cleanPatnrName + $L("Price")}
{discountRate && Number(discountRate.replace("%", "")) > 4 && ( @@ -140,9 +152,9 @@ export default function ShopByMobilePriceDisplay({
- {patncNm - ? patncNm + " " + $L("Price") - : patnrName + " " + $L("Price")} + {cleanPatncNm + ? cleanPatncNm + " " + $L("Price") + : cleanPatnrName + " " + $L("Price")}
{discountRate && Number(discountRate.replace("%", "")) > 4 && ( @@ -194,7 +206,7 @@ export default function ShopByMobilePriceDisplay({ return (
- {patncNm ? patncNm + " " + $L("Price") : patnrName + $L("Price")} + {cleanPatncNm ? cleanPatncNm + " " + $L("Price") : cleanPatnrName + $L("Price")} {renderPriceItem()}
; -} +} \ No newline at end of file