[251011] fix: MediaPlayer작업-2

🕐 커밋 시간: 2025. 10. 11. 23:11:17

📊 변경 통계:
  • 총 파일: 6개
  • 추가: +118줄
  • 삭제: -84줄

📁 추가된 파일:
  + com.twin.app.shoptime/src/components/VideoPlayer/MediaPlayer.jsx

📝 수정된 파일:
  ~ com.twin.app.shoptime/src/actions/mediaActions.js
  ~ com.twin.app.shoptime/src/components/VideoPlayer/VideoPlayer.js
  ~ com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/ProductVideo/ProductVideo.jsx
  ~ com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/CustomerImages/CustomerImages.jsx
  ~ com.twin.app.shoptime/src/views/MediaPanel/MediaPanel.jsx

🔧 함수 변경 내용:
  📄 com.twin.app.shoptime/src/actions/mediaActions.js (javascript):
     Added: resumeModalMedia()
  📄 com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/ProductVideo/ProductVideo.jsx (javascript):
    🔄 Modified: Spottable()
  📄 com.twin.app.shoptime/src/components/VideoPlayer/MediaPlayer.jsx (javascript):
     Added: getControlsHandleAboveHoldConfig(), shouldJump(), calcNumberValueOfPlaybackRate(), getDurFmt(), onSpotlightFocus(), getVideoPhoneNumberClassNames()

🔧 주요 변경 내용:
  • 핵심 비즈니스 로직 개선
  • UI 컴포넌트 아키텍처 개선
This commit is contained in:
2025-10-11 23:11:19 +09:00
parent c8416b90f3
commit 587406ffbb
6 changed files with 2756 additions and 125 deletions

View File

@@ -16,7 +16,7 @@ import * as PanelActions from '../../actions/panelActions';
import TPanel from '../../components/TPanel/TPanel';
import Media from '../../components/VideoPlayer/Media';
import TReactPlayer from '../../components/VideoPlayer/TReactPlayer';
import { VideoPlayer } from '../../components/VideoPlayer/VideoPlayer';
import { VideoPlayer } from '../../components/VideoPlayer/MediaPlayer';
import usePrevious from '../../hooks/usePrevious';
import { panel_names } from '../../utils/Config';
import css from './MediaPanel.module.less';
@@ -60,10 +60,9 @@ const MediaPanel = ({ isTabActivated, panelInfo, isOnTop, spotlightId, ...props
// modal/full screen에 따른 일시정지/재생 처리
useEffect(() => {
console.log('[MediaPanel] isOnTop:', {
isOnTop,
panelInfo,
});
console.log('[MediaPanel] ========== isOnTop useEffect ==========');
console.log('[MediaPanel] isOnTop:', isOnTop);
console.log('[MediaPanel] panelInfo:', JSON.stringify(panelInfo, null, 2));
if (panelInfo && panelInfo.modal) {
if (!isOnTop) {
@@ -276,6 +275,12 @@ const MediaPanel = ({ isTabActivated, panelInfo, isOnTop, spotlightId, ...props
setVideoLoaded(false);
}, [currentPlayingUrl]);
console.log('[MediaPanel] ========== Rendering ==========');
console.log('[MediaPanel] isOnTop:', isOnTop);
console.log('[MediaPanel] panelInfo:', JSON.stringify(panelInfo, null, 2));
console.log('[MediaPanel] currentPlayingUrl:', currentPlayingUrl);
console.log('[MediaPanel] hasVideoPlayer:', !!videoPlayer.current);
return (
<TPanel
isTabActivated={false}