Home에서 아이템 클릭후 이전버튼 눌렀을 시 로그함수 호출되는 문제 수정

This commit is contained in:
dongyoungKo
2025-05-19 14:15:51 +09:00
parent 6b3ef11abd
commit 731a199120
7 changed files with 50 additions and 6 deletions

View File

@@ -22,6 +22,7 @@ import {
clearThemeDetail,
getThemeCurationDetailInfo,
getThemeHotelDetailInfo,
updateHomeInfo,
} from "../../actions/homeActions";
import {
getMainCategoryDetail,
@@ -217,6 +218,18 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
);
}
//홈에서 디테일페이지로 진입했을 경우
if (panelInfo.nowShelf) {
dispatch(
updateHomeInfo({
name: panel_names.HOME_PANEL,
panelInfo: {
nowShelf: panelInfo.nowShelf,
},
})
);
}
if (isCancelClick) {
ev.stopPropagation();
}

View File

@@ -64,7 +64,11 @@ const BestSeller = ({
dispatch(
pushPanel({
name: panel_names.DETAIL_PANEL,
panelInfo: { patnrId: patnrId, prdtId: prdtId },
panelInfo: {
patnrId: patnrId,
prdtId: prdtId,
nowShelf: spotlightId,
},
})
);
},

View File

@@ -154,6 +154,7 @@ const HomeOnSale = ({
<HomeOnSaleItem
{...rest}
key={index}
spotlightId={spotlightId}
homeOnSaleInfos={homeOnSaleInfos}
itemData={itemData}
onFocus={handleFocus(index)}

View File

@@ -17,6 +17,7 @@ const SpottableComponent = Spottable("div");
export default function HomeOnSaleItem({
homeOnSaleInfos,
spotlightId,
itemData,
label,
lastLabel,
@@ -48,6 +49,7 @@ export default function HomeOnSaleItem({
lgCatCd: itemData.lgCatCd,
lgCatNm: itemData.catNm,
prdtId: itemData.prdtId,
nowShelf: spotlightId,
},
})
);

View File

@@ -118,7 +118,7 @@ const HomePanel = ({ isOnTop }) => {
const [arrowBottom, setArrowBottom] = useState(true);
const [firstSpot, setFirstSpot] = useState(false);
const [eventPopOpen, setEventPopOpen] = useState(false);
const [nowShelf, setNowShelf] = useState("");
const [nowShelf, setNowShelf] = useState(panelInfo.nowShelf);
const [firstLgCatCd, setFirstLgCatCd] = useState(
panelInfo.currentCatCd ?? null
);
@@ -246,6 +246,7 @@ const HomePanel = ({ isOnTop }) => {
}
if (containerId !== nowShelf && location && title) {
console.log("##### shelflog");
dispatch(
sendLogTotalRecommend({
contextName: LOG_CONTEXT_NAME.HOME,
@@ -263,7 +264,7 @@ const HomePanel = ({ isOnTop }) => {
currentSentMenuRef.current = nowMenu;
}
},
[pageSpotIds, nowShelf]
[pageSpotIds, nowShelf, panelInfo.nowShelf]
);
const handleItemFocus = useCallback(

View File

@@ -163,7 +163,7 @@ export default memo(function SubCategory({
dispatch(
pushPanel({
name: panel_names.DETAIL_PANEL,
panelInfo: { patnrId, prdtId },
panelInfo: { patnrId, prdtId, nowShelf: spotlightId },
})
);
},

View File

@@ -9,7 +9,7 @@ import { types } from "../../actions/actionTypes";
import { changeAppStatus } from "../../actions/commonActions";
import { sendLogCuration, sendLogGNB } from "../../actions/logActions";
import { copyCategoryInfos, getOnSaleInfo } from "../../actions/onSaleActions";
import { updatePanel } from "../../actions/panelActions";
import { popPanel, updatePanel } from "../../actions/panelActions";
import TBody from "../../components/TBody/TBody";
import TButton, { TYPES } from "../../components/TButton/TButton";
import { removeDotAndColon } from "../../components/TItemCard/TItemCard";
@@ -19,6 +19,7 @@ import { LOG_MENU, LOG_TP_NO, panel_names } from "../../utils/Config";
import OnSaleContents from "./OnSaleContents/OnSaleContents";
import OnSaleNav from "./OnSaleNav/OnSaleNav";
import css from "./OnSalePanel.module.less";
import { updateHomeInfo } from "../../actions/homeActions";
const getExpsOrdByLgCatCd = (array, value) => {
const expsOrd = array.findIndex(({ lgCatCd }) => value === lgCatCd) + 1;
@@ -287,8 +288,30 @@ export default function OnSalePanel({ panelInfo, spotlightId }) {
}
}, []);
const handleCancel = useCallback(
(e) => {
if (panelInfo.nowShelf) {
dispatch(
updateHomeInfo({
name: panel_names.HOME_PANEL,
panelInfo: {
nowShelf: panelInfo.nowShelf,
},
})
);
}
dispatch(popPanel());
e.stopPropagation();
},
[dispatch, panelInfo.nowShelf]
);
return (
<TPanel className={css.tPanel} spotlightId={spotlightId}>
<TPanel
className={css.tPanel}
spotlightId={spotlightId}
handleCancel={handleCancel}
>
{categories && (
<>
<OnSaleNav