diff --git a/com.twin.app.shoptime/src/views/DetailPanel/DetailPanel.jsx b/com.twin.app.shoptime/src/views/DetailPanel/DetailPanel.jsx index 8254c1cd..e153213a 100644 --- a/com.twin.app.shoptime/src/views/DetailPanel/DetailPanel.jsx +++ b/com.twin.app.shoptime/src/views/DetailPanel/DetailPanel.jsx @@ -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(); } diff --git a/com.twin.app.shoptime/src/views/HomePanel/BestSeller/BestSeller.jsx b/com.twin.app.shoptime/src/views/HomePanel/BestSeller/BestSeller.jsx index 4371825a..9f526ee9 100644 --- a/com.twin.app.shoptime/src/views/HomePanel/BestSeller/BestSeller.jsx +++ b/com.twin.app.shoptime/src/views/HomePanel/BestSeller/BestSeller.jsx @@ -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, + }, }) ); }, diff --git a/com.twin.app.shoptime/src/views/HomePanel/HomeOnSale/HomeOnSale.jsx b/com.twin.app.shoptime/src/views/HomePanel/HomeOnSale/HomeOnSale.jsx index 65dffc3e..0377a9db 100644 --- a/com.twin.app.shoptime/src/views/HomePanel/HomeOnSale/HomeOnSale.jsx +++ b/com.twin.app.shoptime/src/views/HomePanel/HomeOnSale/HomeOnSale.jsx @@ -154,6 +154,7 @@ const HomeOnSale = ({ { 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( diff --git a/com.twin.app.shoptime/src/views/HomePanel/SubCategory/SubCategory.jsx b/com.twin.app.shoptime/src/views/HomePanel/SubCategory/SubCategory.jsx index ecbc4587..5d66ab3f 100644 --- a/com.twin.app.shoptime/src/views/HomePanel/SubCategory/SubCategory.jsx +++ b/com.twin.app.shoptime/src/views/HomePanel/SubCategory/SubCategory.jsx @@ -163,7 +163,7 @@ export default memo(function SubCategory({ dispatch( pushPanel({ name: panel_names.DETAIL_PANEL, - panelInfo: { patnrId, prdtId }, + panelInfo: { patnrId, prdtId, nowShelf: spotlightId }, }) ); }, diff --git a/com.twin.app.shoptime/src/views/OnSalePanel/OnSalePanel.jsx b/com.twin.app.shoptime/src/views/OnSalePanel/OnSalePanel.jsx index bb73f136..737221fc 100644 --- a/com.twin.app.shoptime/src/views/OnSalePanel/OnSalePanel.jsx +++ b/com.twin.app.shoptime/src/views/OnSalePanel/OnSalePanel.jsx @@ -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 ( - + {categories && ( <>