통합로그API Favorite 버튼 클릭 시 로그 추가

This commit is contained in:
dongyoungKo
2025-07-10 14:21:00 +09:00
parent 86fb9eab5c
commit 5466359b85
10 changed files with 31 additions and 1 deletions

View File

@@ -454,6 +454,7 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
isYouMayLikeOpened={isYouMayLikeOpened}
isBillingProductVisible={isBillingProductVisible}
detailQRCodeUrl={detailUrl}
logMenu={Config.LOG_MENU.DETAIL_PAGE_BILLING_PRODUCT_DETAIL}
/>
)}
{/* 구매불가상품 영역 */}
@@ -467,6 +468,7 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
setSelectedIndex={setSelectedIndex}
shopByMobileLogRef={shopByMobileLogRef}
isYouMayLikeOpened={isYouMayLikeOpened}
logMenu={Config.LOG_MENU.DETAIL_PAGE_PRODUCT_DETAIL}
/>
)}
{/* 그룹상품 영역 */}

View File

@@ -67,6 +67,7 @@ export default function SingleOption({
selectedPatnrId,
selectedPrdtId,
selectedIndex,
logMenu,
type,
}) {
const dispatch = useDispatch();
@@ -875,6 +876,7 @@ export default function SingleOption({
selectedPrdtId={selectedPrdtId}
favoriteFlag={favoriteFlag}
onFavoriteFlagChanged={onFavoriteFlagChanged}
logMenu={logMenu}
/>
</Container>
<div className={css.disclaimerContainer}>

View File

@@ -42,6 +42,7 @@ export default function SingleProduct({
isYouMayLikeOpened,
isBillingProductVisible,
detailQRCodeUrl,
logMenu,
}) {
const dispatch = useDispatch();
@@ -213,6 +214,7 @@ export default function SingleProduct({
selectedPrdtId={selectedPrdtId}
selectedIndex={selectedIndex}
soldoutFlag={isProductSoldOut}
logMenu={logMenu}
/>
</ProductOption>
</div>

View File

@@ -8,6 +8,7 @@ export default function ThemeSingleOption({
productInfo,
selectedIndex,
soldoutFlag,
logMenu
}) {
return (
<>
@@ -24,6 +25,7 @@ export default function ThemeSingleOption({
selectedIndex={selectedIndex}
isSpotlight={false}
soldoutFlag={soldoutFlag}
logMenu={logMenu}
/>
</ProductOption>
</>

View File

@@ -10,6 +10,7 @@ export default function ThemeUnableOption({
selectedCurationId,
selectedCurationNm,
handleMobileSendPopupOpen,
logMenu,
}) {
return (
<>
@@ -27,6 +28,7 @@ export default function ThemeUnableOption({
selectedCurationNm={selectedCurationNm}
smsTpCd={"APP00204"}
handleMobileSendPopupOpen={handleMobileSendPopupOpen}
logMenu={logMenu}
/>
</ProductOption>
</>

View File

@@ -43,6 +43,7 @@ export default function ShowOption({
shopByMobileLogRef,
isYouMayLikeOpened,
isLoading,
logMenu,
}) {
const dispatch = useDispatch();
const productInfo = useSelector(
@@ -289,6 +290,7 @@ export default function ShowOption({
productInfo={productInfo}
selectedIndex={selectedIndex}
soldoutFlag={isSoldout}
logMenu={logMenu}
/>
)}
{isUnavailableProductVisible && (
@@ -301,6 +303,7 @@ export default function ShowOption({
selectedCurationNm={selectedCurationNm}
soldoutFlag={isSoldout}
handleMobileSendPopupOpen={handleMobileSendPopupOpen}
logMenu={logMenu}
/>
)}
</div>

View File

@@ -5,6 +5,7 @@ import { useSelector } from "react-redux";
import HotelProduct from "./HotelProduct";
import ShowProduct from "./ShowProduct";
import css from "./ThemeProduct.module.less";
import { LOG_MENU } from "../../../utils/Config";
export default function ThemeProduct({
isOnTop,
@@ -33,6 +34,7 @@ export default function ThemeProduct({
setSelectedIndex={setSelectedIndex}
shopByMobileLogRef={shopByMobileLogRef}
isYouMayLikeOpened={isYouMayLikeOpened}
logMenu={LOG_MENU.DETAIL_PAGE_THEME_DETAIL}
isLoading={isLoading}
/>
)}

View File

@@ -23,6 +23,7 @@ export default function UnableOption({
selectedPatnrId,
selectedPrdtId,
soldoutFlag,
logMenu,
}) {
const dispatch = useDispatch();
const { USE_STATE, USE_SELECTOR } = useWhyDidYouUpdate("UnableOption", {
@@ -364,6 +365,7 @@ export default function UnableOption({
selectedPrdtId={selectedPrdtId}
favoriteFlag={favoriteFlag}
onFavoriteFlagChanged={onFavoriteFlagChanged}
logMenu={logMenu}
/>
</div>
<Marquee marqueeOn="render" className={css.disclaimerContainer}>

View File

@@ -40,6 +40,7 @@ export default function UnableProduct({
setSelectedIndex,
shopByMobileLogRef,
isYouMayLikeOpened,
logMenu,
}) {
const dispatch = useDispatch();
@@ -210,6 +211,7 @@ export default function UnableProduct({
selectedPrdtId={selectedPrdtId}
shopByMobileLogRef={shopByMobileLogRef}
soldoutFlag={isProductSoldOut}
logMenu={logMenu}
/>
</ProductOption>
</div>

View File

@@ -16,12 +16,15 @@ import TPopUp from "../../../components/TPopUp/TPopUp";
import * as Config from "../../../utils/Config";
import { $L } from "../../../utils/helperMethods";
import css from "./FavoriteBtn.module.less";
import { disableNotification } from "../../../lunaSend";
import { sendLogTotalRecommend } from "../../../actions/logActions";
export default function FavoriteBtn({
selectedPatnrId,
selectedPrdtId,
favoriteFlag,
onFavoriteFlagChanged,
logMenu,
}) {
const dispatch = useDispatch();
const { popupVisible, activePopup } = useSelector(
@@ -29,6 +32,14 @@ export default function FavoriteBtn({
);
const handleFavoriteClick = useCallback(() => {
dispatch(
sendLogTotalRecommend({
menu: logMenu,
buttonTitle: "FAVORITE",
contextName: Config.LOG_CONTEXT_NAME.DETAILPAGE,
messageId: Config.LOG_MESSAGE_ID.BUTTONCLICK,
})
);
switch (favoriteFlag) {
case "N":
dispatch(
@@ -50,7 +61,7 @@ export default function FavoriteBtn({
break;
}
}
}, [dispatch, favoriteFlag, selectedPatnrId, selectedPrdtId]);
}, [dispatch, favoriteFlag, selectedPatnrId, selectedPrdtId , logMenu]);
const PopUpOnClick = useCallback(() => {
setTimeout(() => Spotlight.focus("favoriteBtn"));