From 760d046d5054f33f4616efedb8ee815d8cb189e6 Mon Sep 17 00:00:00 2001 From: "younghoon100.park" Date: Mon, 19 Feb 2024 17:17:22 +0900 Subject: [PATCH] =?UTF-8?q?[OnSalePanel]=20=EC=B6=94=EA=B0=80=20=EB=B0=8F?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Detail Notes : 1. OnSalePanel, handleTopButtonClick, 조건 추가 2. OnSaleProductItem, handleCardClick, 액션 추가 --- .../src/views/OnSalePanel/OnSalePanel.jsx | 6 ++-- .../OnSaleProductItem/OnSaleProductItem.jsx | 32 +++++++++++++------ 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/com.twin.app.shoptime/src/views/OnSalePanel/OnSalePanel.jsx b/com.twin.app.shoptime/src/views/OnSalePanel/OnSalePanel.jsx index 0dde5ee4..a189fc92 100644 --- a/com.twin.app.shoptime/src/views/OnSalePanel/OnSalePanel.jsx +++ b/com.twin.app.shoptime/src/views/OnSalePanel/OnSalePanel.jsx @@ -64,7 +64,7 @@ export default function OnSalePanel() { }, []); const handleTopButtonClick = useCallback(() => { - if (isTopButtonClicked) { + if (isTopButtonClicked && !targetId) { return; } @@ -77,8 +77,8 @@ export default function OnSalePanel() { {saleInfos && @@ -87,9 +87,9 @@ export default function OnSalePanel() { exposureOrder={expsOrd} key={"saleInfo-" + index} isTopButtonClicked={isTopButtonClicked} - setIsTopButtonClicked={setIsTopButtonClicked} saleName={saleNm} saleProductInfos={saleProductInfos} + setIsTopButtonClicked={setIsTopButtonClicked} /> ))} diff --git a/com.twin.app.shoptime/src/views/OnSalePanel/OnSaleProductList/OnSaleProductItem/OnSaleProductItem.jsx b/com.twin.app.shoptime/src/views/OnSalePanel/OnSaleProductList/OnSaleProductItem/OnSaleProductItem.jsx index 75de58ab..b72ee2fb 100644 --- a/com.twin.app.shoptime/src/views/OnSalePanel/OnSaleProductList/OnSaleProductItem/OnSaleProductItem.jsx +++ b/com.twin.app.shoptime/src/views/OnSalePanel/OnSaleProductList/OnSaleProductItem/OnSaleProductItem.jsx @@ -1,6 +1,10 @@ -import React, { memo } from "react"; +import React, { memo, useCallback } from "react"; +import { useDispatch } from "react-redux"; + +import { pushPanel } from "../../../../actions/panelActions"; import TItemCard from "../../../../components/TItemCard/TItemCard"; +import { panel_names } from "../../../../utils/Config"; import css from "./OnSaleProductItem.module.less"; export default memo(function OnSaleProductItem({ @@ -8,22 +12,30 @@ export default memo(function OnSaleProductItem({ saleProductInfos, ...rest }) { - const { - imgUrl, - prdtId: productId, - prdtNm: productName, - priceInfo, - } = saleProductInfos[index]; + const dispatch = useDispatch(); + + const { imgUrl, patnrId, prdtId, prdtNm, priceInfo } = + saleProductInfos[index]; + + const handleCardClick = useCallback(() => { + dispatch( + pushPanel({ + name: panel_names.DETAIL_PANEL, + panelInfo: { patnrId, prdtId }, + }) + ); + }, [dispatch, saleProductInfos]); return (