[251203] fix: VOD-FeaturedShows-1
🕐 커밋 시간: 2025. 12. 03. 12:17:10 📊 변경 통계: • 총 파일: 2개 • 추가: +53줄 • 삭제: -5줄 📝 수정된 파일: ~ com.twin.app.shoptime/src/views/PlayerPanel/PlayerPanel.jsx ~ com.twin.app.shoptime/src/views/PlayerPanel/PlayerTabContents/TabContents/FeaturedShowContents.jsx 🔧 주요 변경 내용: • 소규모 기능 개선
This commit is contained in:
@@ -1410,9 +1410,22 @@ const PlayerPanel = ({ isTabActivated, panelInfo, isOnTop, spotlightId, ...props
|
||||
]);
|
||||
|
||||
useEffect(() => {
|
||||
console.log('[PlayerPanel] VOD useEffect 진입', {
|
||||
shptmBanrTpNm: panelInfo.shptmBanrTpNm,
|
||||
panelInfoShowId: panelInfo.showId,
|
||||
showDetailInfoLength: showDetailInfo?.length,
|
||||
showDetailInfoId: showDetailInfo?.[0]?.showId,
|
||||
});
|
||||
|
||||
if (panelInfo.shptmBanrTpNm === 'VOD' && showDetailInfo && showDetailInfo.length > 0) {
|
||||
console.log('[PlayerPanel] VOD 조건 만족');
|
||||
// 현재 panelInfo의 showId와 showDetailInfo의 showId가 일치할 때만 처리
|
||||
if (showDetailInfo[0]?.showId === panelInfo.showId) {
|
||||
console.log('[PlayerPanel] showId 일치! 동영상 설정 시작', {
|
||||
showId: showDetailInfo[0]?.showId,
|
||||
patnrId: showDetailInfo[0]?.patnrId,
|
||||
});
|
||||
|
||||
if (showDetailInfo[0]?.showCatCd && fullVideolgCatCd !== showDetailInfo[0]?.showCatCd) {
|
||||
dispatch(
|
||||
getHomeFullVideoInfo({
|
||||
@@ -1421,16 +1434,19 @@ const PlayerPanel = ({ isTabActivated, panelInfo, isOnTop, spotlightId, ...props
|
||||
);
|
||||
}
|
||||
if (showDetailInfo[0].showId && showDetailInfo[0].patnrId) {
|
||||
if (!featuredShowsInfos || Object.keys(featuredShowsInfos).length === 0) {
|
||||
console.log('[PlayerPanel] setPlayListInfo 호출');
|
||||
setPlayListInfo(showDetailInfo);
|
||||
// VOD는 단일 비디오이므로 selectedIndex를 0으로 고정
|
||||
setSelectedIndex(0);
|
||||
}
|
||||
setShopNowInfo(showDetailInfo[0].productInfos);
|
||||
saveToLocalSettings(showDetailInfo[0].showId, showDetailInfo[0].patnrId);
|
||||
}
|
||||
} else {
|
||||
// showId가 일치하지 않으면 이전 상태를 재활용하지 않고 초기화
|
||||
console.log('[PlayerPanel] VOD showDetailInfo mismatch. Clearing playListInfo.', {
|
||||
panelInfoShowId: panelInfo.showId,
|
||||
showDetailInfoId: showDetailInfo[0]?.showId,
|
||||
});
|
||||
dlog('[PlayerPanel] VOD showDetailInfo mismatch. Clearing playListInfo.', {
|
||||
panelInfoShowId: panelInfo.showId,
|
||||
showDetailInfoId: showDetailInfo[0]?.showId,
|
||||
|
||||
@@ -78,6 +78,14 @@ export default function FeaturedShowContents({
|
||||
} = featuredShowsInfos[index];
|
||||
|
||||
const handleItemClick = () => {
|
||||
console.log('[FeaturedShowContents] 클릭 발생', {
|
||||
index,
|
||||
showId,
|
||||
showNm,
|
||||
patnrId,
|
||||
currentVideoShowId,
|
||||
});
|
||||
|
||||
const params = {
|
||||
tabTitle: tabTitle[tabIndex],
|
||||
showId: showId,
|
||||
@@ -91,6 +99,7 @@ export default function FeaturedShowContents({
|
||||
dispatch(sendLogTotalRecommend(params));
|
||||
//중복클릭방지
|
||||
if (isClickBlocked.current) {
|
||||
console.log('[FeaturedShowContents] 중복 클릭 방지됨');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -107,16 +116,39 @@ export default function FeaturedShowContents({
|
||||
}, 600);
|
||||
|
||||
if (currentVideoShowId && currentVideoShowId === showId) {
|
||||
console.log('[FeaturedShowContents] 동일한 showId로 클릭됨, 무시');
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('[FeaturedShowContents] getMainCategoryShowDetail + updatePanel 호출', {
|
||||
showId,
|
||||
patnrId,
|
||||
lgCatCd,
|
||||
});
|
||||
|
||||
setSelectedIndex(index);
|
||||
|
||||
// getMainCategoryShowDetail을 먼저 호출해서 showDetailInfo를 업데이트
|
||||
dispatch(
|
||||
getMainCategoryShowDetail({
|
||||
patnrId: patnrId,
|
||||
showId: showId,
|
||||
})
|
||||
);
|
||||
|
||||
// 그 다음 updatePanel 호출해서 panelInfo 업데이트
|
||||
dispatch(
|
||||
updatePanel({
|
||||
name: panel_names.PLAYER_PANEL,
|
||||
panelInfo: {
|
||||
patnrId: patnrId,
|
||||
showId: showId,
|
||||
shptmBanrTpNm: 'VOD',
|
||||
lgCatCd: lgCatCd,
|
||||
isUpdatedByClick: true,
|
||||
},
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
const showNameDangerouslySetInnerHTML = () => {
|
||||
|
||||
Reference in New Issue
Block a user