From 72cc440d07bc066992d3d782069f074440083d2f Mon Sep 17 00:00:00 2001 From: Dev TWIN0906 Date: Thu, 15 May 2025 16:34:00 +0900 Subject: [PATCH] =?UTF-8?q?Config.js=20=EC=B6=A9=EB=8F=8C=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 6148 -> 6148 bytes .../components/MobileSend/MobileSendPopUp.jsx | 1 - com.twin.app.shoptime/src/utils/Config.js | 2 ++ .../DetailPanel/GroupProduct/GroupProduct.jsx | 28 +++++++++++++++++- .../SingleProduct/SingleProduct.jsx | 12 +++++--- .../DetailPanel/ThemeProduct/HotelProduct.jsx | 22 ++++++++++++-- .../DetailPanel/ThemeProduct/ShowProduct.jsx | 7 ++++- .../UnableProduct/UnableProduct.jsx | 17 ++++++++--- .../components/indicator/IndicatorOptions.jsx | 2 ++ 9 files changed, 78 insertions(+), 13 deletions(-) diff --git a/.DS_Store b/.DS_Store index a29289d1157c2dce11b21c081af19f799b4259ae..1f2f261d7233b1cdb68757773b2d653724b81216 100644 GIT binary patch delta 76 zcmZoMXffE(&%(HS@&uMbE$QlNT|+Z-104l(3$t1sg=#}nGh-bEOACYAT22m8Wqs?Q g`0SkAy!_tDnym7SeUo`u^fs5X_AzZ{=lIJH09ZX100000 delta 74 zcmZoMXffE(&%(HK@&uMb4aw?i6C*<%1tSB?S{;RILql@|9R+hkliFHN4pC)&>!A4T eoZP(p?#bG$@{B!`d06x|SF-joZD!^8&kq1Eq!obx diff --git a/com.twin.app.shoptime/src/components/MobileSend/MobileSendPopUp.jsx b/com.twin.app.shoptime/src/components/MobileSend/MobileSendPopUp.jsx index d33b4fc3..2f82fcc0 100644 --- a/com.twin.app.shoptime/src/components/MobileSend/MobileSendPopUp.jsx +++ b/com.twin.app.shoptime/src/components/MobileSend/MobileSendPopUp.jsx @@ -437,7 +437,6 @@ export default function MobileSendPopUp({ ) { const logParams = { status: 'send', - entryMenu: entryMenu, nowMenu: nowMenu, partner: patncNm, contextName: LOG_CONTEXT_NAME.SHOPBYMOBILE, diff --git a/com.twin.app.shoptime/src/utils/Config.js b/com.twin.app.shoptime/src/utils/Config.js index 95df058a..3cb0b404 100644 --- a/com.twin.app.shoptime/src/utils/Config.js +++ b/com.twin.app.shoptime/src/utils/Config.js @@ -590,6 +590,7 @@ export const LOG_CONTEXT_NAME = { SHOW: "shoptime.show", SHOPBYMOBILE: "shoptime.shopbymobile", GNB: "shoptime.gnb", + DETAILPAGE: "shoptime.detailpage", }; export const LOG_MESSAGE_ID = { @@ -601,4 +602,5 @@ export const LOG_MESSAGE_ID = { SHELF: "AL_SHELF_LIST_SHOWN", SMB: "AL_SBM", GNB: "AL_GNB_CLICK", + BUTTONCLICK: "AL_BUTTON_CLICK", }; diff --git a/com.twin.app.shoptime/src/views/DetailPanel/GroupProduct/GroupProduct.jsx b/com.twin.app.shoptime/src/views/DetailPanel/GroupProduct/GroupProduct.jsx index 2c5c1dc3..d4a221ad 100644 --- a/com.twin.app.shoptime/src/views/DetailPanel/GroupProduct/GroupProduct.jsx +++ b/com.twin.app.shoptime/src/views/DetailPanel/GroupProduct/GroupProduct.jsx @@ -9,8 +9,9 @@ import { sendLogGNB, sendLogProductDetail, sendLogShopByMobile, + sendLogTotalRecommend, } from "../../../actions/logActions"; -import { LOG_MENU, LOG_TP_NO } from "../../../utils/Config"; +import { LOG_CONTEXT_NAME, LOG_MENU, LOG_MESSAGE_ID, LOG_TP_NO } from "../../../utils/Config"; import { formatGMTString, formatLocalDateTime, @@ -104,6 +105,31 @@ export default function GroupProduct({ }, [productData]); const handleMobileSendPopupOpen = useCallback(() => { + if (productData && Object.keys(productData).length > 0) { + const regularPrice = productData?.priceInfo?.split("|")[0]; + const discountPrice = productData?.priceInfo?.split("|")[1]; + const discountRate = productData?.priceInfo?.split("|")[4]; + const logParams = { + status: 'open', + nowMenu: nowMenu, + partner: productData?.patncNm, + productId: productData?.prdtId, + productTitle: productData?.prdtNm, + price: discountRate ? discountPrice : regularPrice, + brand: productData?.brndNm, + discount: discountRate, + category: productData?.catNm, + contextName: LOG_CONTEXT_NAME.SHOPBYMOBILE, + messageId: LOG_MESSAGE_ID.SMB + } + dispatch(sendLogTotalRecommend(logParams)) + dispatch(sendLogTotalRecommend({ + menu: LOG_MENU.DETAIL_PAGE_GROUP_DETAIL, + buttonTitle: 'Shop By Mobile', + contextName: LOG_CONTEXT_NAME.DETAILPAGE, + messageId: LOG_MESSAGE_ID.BUTTONCLICK + })) + } if (productData && Object.keys(productData).length > 0) { const params = { befPrice: productData?.priceInfo?.split("|")[0], diff --git a/com.twin.app.shoptime/src/views/DetailPanel/SingleProduct/SingleProduct.jsx b/com.twin.app.shoptime/src/views/DetailPanel/SingleProduct/SingleProduct.jsx index 0dcad529..2c8dc053 100644 --- a/com.twin.app.shoptime/src/views/DetailPanel/SingleProduct/SingleProduct.jsx +++ b/com.twin.app.shoptime/src/views/DetailPanel/SingleProduct/SingleProduct.jsx @@ -9,7 +9,7 @@ import { sendLogGNB, sendLogProductDetail, sendLogShopByMobile, - sendLogTotalRecommend, + sendLogTotalRecommend } from "../../../actions/logActions"; import { LOG_CONTEXT_NAME, LOG_MENU, LOG_MESSAGE_ID, LOG_TP_NO } from "../../../utils/Config"; import { @@ -42,7 +42,6 @@ export default function SingleProduct({ const productData = useSelector((state) => state.main.productData); const nowMenu = useSelector((state) => state.common.menu.nowMenu); - const entryMenu = useSelector((state) => state.common.menu.entryMenu); const entryMenuRef = useRef(null); @@ -102,7 +101,7 @@ export default function SingleProduct({ patncNm: productData?.patncNm ?? "", patnrId: productData?.patnrId ?? "", }; - + console.log ('###detail button click', params) dispatch(sendLogDetail(params)); } }, [productData]); @@ -114,7 +113,6 @@ export default function SingleProduct({ const discountRate = productData?.priceInfo?.split("|")[4]; const logParams = { status: 'open', - entryMenu: entryMenu, nowMenu: nowMenu, partner: productData?.patncNm, productId: productData?.prdtId, @@ -127,6 +125,12 @@ export default function SingleProduct({ messageId: LOG_MESSAGE_ID.SMB } dispatch(sendLogTotalRecommend(logParams)) + dispatch(sendLogTotalRecommend({ + menu: LOG_MENU.DETAIL_PAGE_BILLING_PRODUCT_DETAIL, + buttonTitle: 'Shop By Mobile', + contextName: LOG_CONTEXT_NAME.DETAILPAGE, + messageId: LOG_MESSAGE_ID.BUTTONCLICK + })) } if (productData && Object.keys(productData).length > 0) { const params = { diff --git a/com.twin.app.shoptime/src/views/DetailPanel/ThemeProduct/HotelProduct.jsx b/com.twin.app.shoptime/src/views/DetailPanel/ThemeProduct/HotelProduct.jsx index eac4ab83..e4487308 100644 --- a/com.twin.app.shoptime/src/views/DetailPanel/ThemeProduct/HotelProduct.jsx +++ b/com.twin.app.shoptime/src/views/DetailPanel/ThemeProduct/HotelProduct.jsx @@ -17,6 +17,7 @@ import { sendLogGNB, sendLogProductDetail, sendLogShopByMobile, + sendLogTotalRecommend, } from "../../../actions/logActions"; import TButton from "../../../components/TButton/TButton"; import TQRCode from "../../../components/TQRCode/TQRCode"; @@ -51,7 +52,7 @@ export default function HotelOption({ (state) => state.home.themeCurationHotelDetailData ); const hotelData = useSelector((state) => state.home.hotelData); - + const nowMenu = useSelector((state) => state.common.nowMenu); const { popupVisible } = useSelector((state) => state.common.popup); const [label, setLabel] = useState(""); const [amenitiesInfos, setAmenitiesInfos] = useState(); @@ -162,7 +163,24 @@ export default function HotelOption({ const handleSMSClick = useCallback(() => { dispatch(setShowPopup(Config.ACTIVE_POPUP.smsPopup)); - + const logParams = { + status: 'open', + nowMenu: nowMenu, + partner: selectedHotelInfo.patncNm, + price: selectedHotelInfo.hotelInfo?.hotelDetailInfo?.price, + productTitle: selectedHotelInfo.hotelInfo?.hotelDetailInfo?.hotelNm, + productId: selectedHotelInfo.hotelInfo?.hotelDetailInfo?.hotelId, + contextName: Config.LOG_CONTEXT_NAME.SHOPBYMOBILE, + messageId: Config.LOG_MESSAGE_ID.SMB + } + dispatch(sendLogTotalRecommend(logParams)) + dispatch(sendLogTotalRecommend({ + menu: Config.LOG_MENU.DETAIL_PAGE_TRAVEL_THEME_DETAIL, + buttonTitle: 'Shop By Mobile', + contextName: Config.LOG_CONTEXT_NAME.DETAILPAGE, + messageId: Config.LOG_MESSAGE_ID.BUTTONCLICK + })) + const params = { befPrice: selectedHotelInfo.hotelInfo?.hotelDetailInfo?.price, curationId: selectedHotelInfo.curationId, diff --git a/com.twin.app.shoptime/src/views/DetailPanel/ThemeProduct/ShowProduct.jsx b/com.twin.app.shoptime/src/views/DetailPanel/ThemeProduct/ShowProduct.jsx index 57879d9e..2612b46a 100644 --- a/com.twin.app.shoptime/src/views/DetailPanel/ThemeProduct/ShowProduct.jsx +++ b/com.twin.app.shoptime/src/views/DetailPanel/ThemeProduct/ShowProduct.jsx @@ -166,7 +166,6 @@ export default function ShowOption({ const discountRate = productData?.priceInfo?.split("|")[4]; const logParams = { status: 'open', - entryMenu: entryMenu, nowMenu: nowMenu, partner: productData?.patncNm, productId: productData?.prdtId, @@ -179,6 +178,12 @@ export default function ShowOption({ messageId: LOG_MESSAGE_ID.SMB } dispatch(sendLogTotalRecommend(logParams)) + dispatch(sendLogTotalRecommend({ + menu: LOG_MENU.DETAIL_PAGE_THEME_DETAIL, + buttonTitle: 'Shop By Mobile', + contextName: LOG_CONTEXT_NAME.DETAILPAGE, + messageId: LOG_MESSAGE_ID.BUTTONCLICK + })) } if (showProductInfo && Object.keys(showProductInfo).length > 0) { const params = { diff --git a/com.twin.app.shoptime/src/views/DetailPanel/UnableProduct/UnableProduct.jsx b/com.twin.app.shoptime/src/views/DetailPanel/UnableProduct/UnableProduct.jsx index 553900ba..411c5d54 100644 --- a/com.twin.app.shoptime/src/views/DetailPanel/UnableProduct/UnableProduct.jsx +++ b/com.twin.app.shoptime/src/views/DetailPanel/UnableProduct/UnableProduct.jsx @@ -40,7 +40,7 @@ export default function UnableProduct({ const productData = useSelector((state) => state.main.productData); const nowMenu = useSelector((state) => state.common.menu.nowMenu); - const entryMenu = useSelector((state) => state.common.menu.entryMenu); + const entryMenuRef = useRef(null); const isProductSoldOut = useMemo(() => { @@ -99,7 +99,10 @@ export default function UnableProduct({ patncNm: productData?.patncNm ?? "", patnrId: productData?.patnrId ?? "", }; - + console.log ('###panelInfo', panelInfo) + console.log ('###productData', productData) + console.log ('###entryMenuRef', entryMenuRef) + console.log ('###entryMenuRef.current', entryMenuRef.current) dispatch(sendLogDetail(params)); } }, [productData]); @@ -111,7 +114,6 @@ export default function UnableProduct({ const discountRate = productData?.priceInfo?.split("|")[4]; const logParams = { status: 'open', - entryMenu: entryMenu, nowMenu: nowMenu, partner: productData?.patncNm, productId: productData?.prdtId, @@ -124,6 +126,12 @@ export default function UnableProduct({ messageId: LOG_MESSAGE_ID.SMB } dispatch(sendLogTotalRecommend(logParams)) + dispatch(sendLogTotalRecommend({ + menu: LOG_MENU.DETAIL_PAGE_PRODUCT_DETAIL, + buttonTitle: 'Shop By Mobile', + contextName: LOG_CONTEXT_NAME.DETAILPAGE, + messageId: LOG_MESSAGE_ID.BUTTONCLICK + })) } if (productData && Object.keys(productData).length > 0) { const params = { @@ -152,7 +160,7 @@ export default function UnableProduct({ trmsAgrFlag: "N", tsvFlag: productData?.todaySpclFlag ?? "", }; - console.log('###params is unableProduct', params); + dispatch(sendLogShopByMobile(params)); shopByMobileLogRef.current = params; } @@ -176,6 +184,7 @@ export default function UnableProduct({ { + console.log('###descriptionClick', productInfo?.prdtDesc) setTabLabel([label]); setDescription(description); dispatch(setShowPopup(Config.ACTIVE_POPUP.descriptionPopup));