diff --git a/com.twin.app.shoptime/src/components/VideoPlayer/VideoPlayer.js b/com.twin.app.shoptime/src/components/VideoPlayer/VideoPlayer.js index d0a0cc02..30b376f1 100644 --- a/com.twin.app.shoptime/src/components/VideoPlayer/VideoPlayer.js +++ b/com.twin.app.shoptime/src/components/VideoPlayer/VideoPlayer.js @@ -886,6 +886,18 @@ const VideoPlayerBase = class extends React.Component { } } + // TabContainerV2(하단 탭)와 상단 오버레이(뒤로가기 아이콘 등) 동기화 + // mediaControlsVisible이 다른 경로로 토글될 때 belowContentsVisible도 맞춰 줘서 + // 두 오버레이가 따로 놀지 않도록 한다. + if ( + this.props.tabContainerVersion === 2 && + typeof this.props.setBelowContentsVisible === 'function' && + this.state.mediaControlsVisible !== prevState.mediaControlsVisible && + this.props.belowContentsVisible !== this.state.mediaControlsVisible + ) { + this.props.setBelowContentsVisible(this.state.mediaControlsVisible); + } + if ( (!this.state.mediaControlsVisible && prevState.mediaControlsVisible !== this.state.mediaControlsVisible) || diff --git a/com.twin.app.shoptime/src/views/PlayerPanel/PlayerPanel.jsx b/com.twin.app.shoptime/src/views/PlayerPanel/PlayerPanel.jsx index 261c446e..13262ce6 100644 --- a/com.twin.app.shoptime/src/views/PlayerPanel/PlayerPanel.jsx +++ b/com.twin.app.shoptime/src/views/PlayerPanel/PlayerPanel.jsx @@ -2072,11 +2072,8 @@ const PlayerPanel = ({ isTabActivated, panelInfo, isOnTop, spotlightId, ...props return; } - // NOTE 첫 진입 시에는 30초 후 탭이 닫히도록 설정 - if (initialEnterV2) { - // console.log('[TabContainerV2] 첫 진입 - 타이머 시작', INITIAL_TIMEOUT); - resetTimerV2(INITIAL_TIMEOUT); - } + // NOTE 탭이 표시될 때마다 타이머 시작 (첫 진입은 30초, 이후에는 REGULAR_TIMEOUT) + resetTimerV2(initialEnterV2 ? INITIAL_TIMEOUT : REGULAR_TIMEOUT); const handleEvent = (e) => { // console.log('[TabContainerV2] 이벤트 발생:', e.type);