[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(() => {
|
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) {
|
if (panelInfo.shptmBanrTpNm === 'VOD' && showDetailInfo && showDetailInfo.length > 0) {
|
||||||
|
console.log('[PlayerPanel] VOD 조건 만족');
|
||||||
// 현재 panelInfo의 showId와 showDetailInfo의 showId가 일치할 때만 처리
|
// 현재 panelInfo의 showId와 showDetailInfo의 showId가 일치할 때만 처리
|
||||||
if (showDetailInfo[0]?.showId === panelInfo.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) {
|
if (showDetailInfo[0]?.showCatCd && fullVideolgCatCd !== showDetailInfo[0]?.showCatCd) {
|
||||||
dispatch(
|
dispatch(
|
||||||
getHomeFullVideoInfo({
|
getHomeFullVideoInfo({
|
||||||
@@ -1421,16 +1434,19 @@ const PlayerPanel = ({ isTabActivated, panelInfo, isOnTop, spotlightId, ...props
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (showDetailInfo[0].showId && showDetailInfo[0].patnrId) {
|
if (showDetailInfo[0].showId && showDetailInfo[0].patnrId) {
|
||||||
if (!featuredShowsInfos || Object.keys(featuredShowsInfos).length === 0) {
|
console.log('[PlayerPanel] setPlayListInfo 호출');
|
||||||
setPlayListInfo(showDetailInfo);
|
setPlayListInfo(showDetailInfo);
|
||||||
// VOD는 단일 비디오이므로 selectedIndex를 0으로 고정
|
// VOD는 단일 비디오이므로 selectedIndex를 0으로 고정
|
||||||
setSelectedIndex(0);
|
setSelectedIndex(0);
|
||||||
}
|
|
||||||
setShopNowInfo(showDetailInfo[0].productInfos);
|
setShopNowInfo(showDetailInfo[0].productInfos);
|
||||||
saveToLocalSettings(showDetailInfo[0].showId, showDetailInfo[0].patnrId);
|
saveToLocalSettings(showDetailInfo[0].showId, showDetailInfo[0].patnrId);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// showId가 일치하지 않으면 이전 상태를 재활용하지 않고 초기화
|
// showId가 일치하지 않으면 이전 상태를 재활용하지 않고 초기화
|
||||||
|
console.log('[PlayerPanel] VOD showDetailInfo mismatch. Clearing playListInfo.', {
|
||||||
|
panelInfoShowId: panelInfo.showId,
|
||||||
|
showDetailInfoId: showDetailInfo[0]?.showId,
|
||||||
|
});
|
||||||
dlog('[PlayerPanel] VOD showDetailInfo mismatch. Clearing playListInfo.', {
|
dlog('[PlayerPanel] VOD showDetailInfo mismatch. Clearing playListInfo.', {
|
||||||
panelInfoShowId: panelInfo.showId,
|
panelInfoShowId: panelInfo.showId,
|
||||||
showDetailInfoId: showDetailInfo[0]?.showId,
|
showDetailInfoId: showDetailInfo[0]?.showId,
|
||||||
|
|||||||
@@ -78,6 +78,14 @@ export default function FeaturedShowContents({
|
|||||||
} = featuredShowsInfos[index];
|
} = featuredShowsInfos[index];
|
||||||
|
|
||||||
const handleItemClick = () => {
|
const handleItemClick = () => {
|
||||||
|
console.log('[FeaturedShowContents] 클릭 발생', {
|
||||||
|
index,
|
||||||
|
showId,
|
||||||
|
showNm,
|
||||||
|
patnrId,
|
||||||
|
currentVideoShowId,
|
||||||
|
});
|
||||||
|
|
||||||
const params = {
|
const params = {
|
||||||
tabTitle: tabTitle[tabIndex],
|
tabTitle: tabTitle[tabIndex],
|
||||||
showId: showId,
|
showId: showId,
|
||||||
@@ -91,6 +99,7 @@ export default function FeaturedShowContents({
|
|||||||
dispatch(sendLogTotalRecommend(params));
|
dispatch(sendLogTotalRecommend(params));
|
||||||
//중복클릭방지
|
//중복클릭방지
|
||||||
if (isClickBlocked.current) {
|
if (isClickBlocked.current) {
|
||||||
|
console.log('[FeaturedShowContents] 중복 클릭 방지됨');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -107,16 +116,39 @@ export default function FeaturedShowContents({
|
|||||||
}, 600);
|
}, 600);
|
||||||
|
|
||||||
if (currentVideoShowId && currentVideoShowId === showId) {
|
if (currentVideoShowId && currentVideoShowId === showId) {
|
||||||
|
console.log('[FeaturedShowContents] 동일한 showId로 클릭됨, 무시');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('[FeaturedShowContents] getMainCategoryShowDetail + updatePanel 호출', {
|
||||||
|
showId,
|
||||||
|
patnrId,
|
||||||
|
lgCatCd,
|
||||||
|
});
|
||||||
|
|
||||||
setSelectedIndex(index);
|
setSelectedIndex(index);
|
||||||
|
|
||||||
|
// getMainCategoryShowDetail을 먼저 호출해서 showDetailInfo를 업데이트
|
||||||
dispatch(
|
dispatch(
|
||||||
getMainCategoryShowDetail({
|
getMainCategoryShowDetail({
|
||||||
patnrId: patnrId,
|
patnrId: patnrId,
|
||||||
showId: showId,
|
showId: showId,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 그 다음 updatePanel 호출해서 panelInfo 업데이트
|
||||||
|
dispatch(
|
||||||
|
updatePanel({
|
||||||
|
name: panel_names.PLAYER_PANEL,
|
||||||
|
panelInfo: {
|
||||||
|
patnrId: patnrId,
|
||||||
|
showId: showId,
|
||||||
|
shptmBanrTpNm: 'VOD',
|
||||||
|
lgCatCd: lgCatCd,
|
||||||
|
isUpdatedByClick: true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const showNameDangerouslySetInnerHTML = () => {
|
const showNameDangerouslySetInnerHTML = () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user