diff --git a/com.twin.app.shoptime/src/views/FeaturedBrandsPanel/ShopByShow/ShopByShow.jsx b/com.twin.app.shoptime/src/views/FeaturedBrandsPanel/ShopByShow/ShopByShow.jsx index 16855239..ce2cb80f 100644 --- a/com.twin.app.shoptime/src/views/FeaturedBrandsPanel/ShopByShow/ShopByShow.jsx +++ b/com.twin.app.shoptime/src/views/FeaturedBrandsPanel/ShopByShow/ShopByShow.jsx @@ -35,6 +35,7 @@ const ShopByShow = ({ shelfTitle, }) => { const [firstChk, setFirstChk] = useState(0); + const [selectedContsId, setSelectedContsId] = useState(null); const dispatch = useDispatch(); const { getScrollTo, scrollLeft } = useScrollTo({ skipAutoScrollTop: true }); const panelInfo = useSelector((state) => state.panels.panels[0]?.panelInfo); @@ -43,8 +44,15 @@ const ShopByShow = ({ const brandShopByShowClctInfos = brandShopByShowContsInfo?.brandShopByShowClctInfos || []; const handleContsIdChange = useCallback((contsId) => { - dispatch(getBrandShopByShow({ patnrId: selectedPatnrId, contsId })); - }, [selectedPatnrId, dispatch]); + setSelectedContsId(contsId); + + // 'ALL' 버튼 클릭 시 (contsId === null) 첫 번째 contents 로드 + const targetContsId = contsId || (brandShopByShowContsList?.[0]?.contsId); + + if (targetContsId) { + dispatch(getBrandShopByShow({ patnrId: selectedPatnrId, contsId: targetContsId })); + } + }, [selectedPatnrId, brandShopByShowContsList, dispatch]); useEffect(() => { if (panelInfo?.section !== "shop-by-show" || !panelInfo?.x) { @@ -109,6 +117,7 @@ const ShopByShow = ({ brandShopByShowContsInfo={brandShopByShowContsInfo} handleItemFocus={_handleItemFocus} onContsIdChange={handleContsIdChange} + selectedContsId={selectedContsId} /> {brandShopByShowClctInfos.map((collection, collIdx) => (