[251116] feat: PlayerPanel FullScreen
🕐 커밋 시간: 2025. 11. 16. 21:32:12 📊 변경 통계: • 총 파일: 5개 • 추가: +81줄 • 삭제: -20줄 📝 수정된 파일: ~ com.twin.app.shoptime/src/actions/playActions.js ~ com.twin.app.shoptime/src/hooks/useVideoPlay/useVideoPlay.js ~ com.twin.app.shoptime/src/middleware/panelHistoryMiddleware.js ~ com.twin.app.shoptime/src/views/HomePanel/HomePanel.jsx ~ com.twin.app.shoptime/src/views/MainView/MainView.jsx 🔧 함수 변경 내용: 📄 com.twin.app.shoptime/src/actions/playActions.js (javascript): 🔄 Modified: resumeFullscreenVideo() 🔧 주요 변경 내용: • 핵심 비즈니스 로직 개선
This commit is contained in:
@@ -161,11 +161,18 @@ export const startVideoPlayerNew =
|
||||
panelWorkingAction = updatePanel;
|
||||
}
|
||||
|
||||
// 중복 실행 방지: 현재 PlayerPanel이 같은 배너를 재생 중이면 skip
|
||||
const currentPlayerState = topPanel?.panelInfo?.playerState || {};
|
||||
if (currentPlayerState?.currentBannerId === bannerId) {
|
||||
console.log('[playActions] startVideoPlayerNew: 동일 배너 재생 중이라 중복 실행 SKIP', {
|
||||
// 중복 실행 방지: 같은 배너 + 같은 modal 상태/컨테이너면 skip
|
||||
const currentPanelInfo = topPanel?.panelInfo || {};
|
||||
const currentPlayerState = currentPanelInfo.playerState || {};
|
||||
const isSameBanner = currentPlayerState.currentBannerId === bannerId;
|
||||
const isSameModalType = currentPanelInfo.modal === modal;
|
||||
const isSameContainer = currentPanelInfo.modalContainerId === modalContainerId;
|
||||
|
||||
if (isSameBanner && isSameModalType && isSameContainer) {
|
||||
console.log('[playActions] startVideoPlayerNew: 동일한 요청이므로 스킵', {
|
||||
bannerId,
|
||||
modal,
|
||||
modalContainerId,
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -397,7 +404,13 @@ export const shrinkVideoTo1px = () => (dispatch, getState) => {
|
||||
})
|
||||
);
|
||||
} else {
|
||||
console.log('[HomePanel] shrinkVideoTo1px: No modal PlayerPanel found');
|
||||
console.log('[HomePanel] shrinkVideoTo1px: No modal PlayerPanel found', {
|
||||
panels: panels.map((p) => ({
|
||||
name: p.name,
|
||||
modal: p.panelInfo?.modal,
|
||||
shouldShrinkTo1px: p.panelInfo?.shouldShrinkTo1px,
|
||||
})),
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
@@ -445,7 +458,13 @@ export const expandVideoFrom1px = () => (dispatch, getState) => {
|
||||
})
|
||||
);
|
||||
} else {
|
||||
console.log('[HomePanel] expandVideoFrom1px: No shrunk modal PlayerPanel found');
|
||||
console.log('[HomePanel] expandVideoFrom1px: No shrunk modal PlayerPanel found', {
|
||||
panels: panels.map((p) => ({
|
||||
name: p.name,
|
||||
modal: p.panelInfo?.modal,
|
||||
shouldShrinkTo1px: p.panelInfo?.shouldShrinkTo1px,
|
||||
})),
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user