From 9fdadd9e325e5cfc8a5298fe18a665e520920a8b Mon Sep 17 00:00:00 2001 From: "opacity@t-win.kr" Date: Wed, 19 Nov 2025 16:33:55 +0900 Subject: [PATCH] =?UTF-8?q?SHOPTIME-6118=20Featured=20Brands=20/=20Live=20?= =?UTF-8?q?/=20Pinkfong=20=EC=A0=91=EC=86=8D=20=ED=9B=84=20=EB=85=B8?= =?UTF-8?q?=EC=B6=9C=20=ED=99=94=EB=A9=B4=20=EC=9D=B4=EC=8A=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/PlayerPanel/PlayerPanel.jsx | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/com.twin.app.shoptime/src/views/PlayerPanel/PlayerPanel.jsx b/com.twin.app.shoptime/src/views/PlayerPanel/PlayerPanel.jsx index ccd5231c..9643319a 100644 --- a/com.twin.app.shoptime/src/views/PlayerPanel/PlayerPanel.jsx +++ b/com.twin.app.shoptime/src/views/PlayerPanel/PlayerPanel.jsx @@ -380,11 +380,15 @@ const PlayerPanel = ({ }, [panelInfo?.shptmBanrTpNm, showDetailInfo]); // patnrId가 19일 때 getBrandLiveChannelInfo API 호출 + // Featured Brands 패널에서는 API 호출 제외 useEffect(() => { - if (panelInfo?.patnrId === "19") { + if ( + panelInfo?.patnrId === "19" && + panelInfo?.sourcePanel !== panel_names.FEATURED_BRANDS_PANEL + ) { dispatch(getBrandLiveChannelInfo({ patnrId: panelInfo.patnrId })); } - }, [panelInfo?.patnrId, dispatch]); + }, [panelInfo?.patnrId, panelInfo?.sourcePanel, dispatch]); useEffect(() => { if (!panelInfo?.modal && panelInfo?.shptmBanrTpNm === "MEDIA") { @@ -1118,9 +1122,17 @@ const PlayerPanel = ({ ]); // 라이브 채널 클릭 시 필터링 상태 설정 + // Featured Brands 패널에서는 필터링 제외 useEffect(() => { if (panelInfo.shptmBanrTpNm === "LIVE" && panelInfo.isUpdatedByClick) { - if (panelInfo.patnrId === "19") { + // Featured Brands 패널에서는 필터링 적용하지 않음 + if (panelInfo.sourcePanel === panel_names.FEATURED_BRANDS_PANEL) { + setIsFilteredByPatnr19(false); + isFilteredByPatnr19Ref.current = false; + setClickedShowId(null); + hasSetInitialIndex.current = false; + sortedFilteredListRef.current = null; + } else if (panelInfo.patnrId === "19") { // 이미 필터링 상태가 아닐 때만 리셋 (최초 진입) const wasNotFiltered = !isFilteredByPatnr19Ref.current; @@ -1290,8 +1302,11 @@ const PlayerPanel = ({ // get PlayListInfo for VOD useEffect(() => { if (panelInfo?.shptmBanrTpNm === "VOD") { - // patnrId가 19일 때 brandLiveChannelInfo 사용 - if (panelInfo?.patnrId === "19") { + // Featured Brands 패널에서는 핑크퐁 전용 리스트 사용하지 않음 + if ( + panelInfo?.patnrId === "19" && + panelInfo?.sourcePanel !== panel_names.FEATURED_BRANDS_PANEL + ) { if ( brandLiveChannelInfo && brandLiveChannelInfo.data && @@ -2074,9 +2089,11 @@ const PlayerPanel = ({ } // LIVE 타입이면서 필터링된 상태(patnrId 19)일 때 자동재생 처리 + // Featured Brands 패널에서는 자동재생 제외 if ( panelInfoRef.current.shptmBanrTpNm === "LIVE" && - isFilteredByPatnr19Ref.current + isFilteredByPatnr19Ref.current && + panelInfoRef.current.sourcePanel !== panel_names.FEATURED_BRANDS_PANEL ) { const currentPlayList = playListInfoRef.current;