[251115] fix: ProductVideo.v3.jsx 전체화면에서 모달복귀 포커스 문제

🕐 커밋 시간: 2025. 11. 15. 14:15:28

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

📝 수정된 파일:
  ~ com.twin.app.shoptime/src/App/App.js
  ~ com.twin.app.shoptime/src/components/VideoPlayer/VideoPlayer.v3.module.less
  ~ com.twin.app.shoptime/src/views/DetailPanel/DetailPanel.jsx
  ~ com.twin.app.shoptime/src/views/DetailPanel/ProductAllSection/ProductAllSection.jsx
  ~ com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/ProductVideo/ProductVideo.v3.jsx
  ~ com.twin.app.shoptime/src/views/MediaPanel/MediaPanel.v3.jsx

🔧 함수 변경 내용:
  📄 com.twin.app.shoptime/src/App/App.js (javascript):
     Added: resolveSpotlightIdFromEvent()
  📄 com.twin.app.shoptime/src/views/DetailPanel/ProductAllSection/ProductAllSection.jsx (javascript):
    🔄 Modified: extractProductMeta()
  📄 com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/ProductVideo/ProductVideo.v3.jsx (javascript):
    🔄 Modified: Spottable()
  📄 com.twin.app.shoptime/src/views/MediaPanel/MediaPanel.v3.jsx (javascript):
    🔄 Modified: normalizeModalStyle()

🔧 주요 변경 내용:
  • 핵심 비즈니스 로직 개선
  • UI 컴포넌트 아키텍처 개선

Performance: 코드 최적화로 성능 개선 기대
This commit is contained in:
2025-11-15 14:15:28 +09:00
parent d1f63ee402
commit e474ac3ef2
6 changed files with 91 additions and 131 deletions

View File

@@ -720,16 +720,15 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
const topPanel = panels[panels.length - 1];
// MediaPanel이 modal=true로 복귀했을 때 포커스를 ProductVideo로 이동
// 하지만 MediaPanel에서 이미 포커스를 시도하므로 여기서는 보조 역할만 함
if (
topPanel &&
topPanel.name === panel_names.MEDIA_PANEL &&
topPanel.panelInfo.modal === true
) {
console.log('[DetailPanel] MediaPanel modal=true detected - focusing ProductVideo');
const focusTimer = setTimeout(() => {
Spotlight.focus('product-video-player');
}, 2500);
return () => clearTimeout(focusTimer);
console.log('[DetailPanel] MediaPanel modal=true detected - will not interfere with focus');
// MediaPanel의 포커스 이동을 방해하지 않기 위해 아무것도 하지 않음
return;
}
}, [panels]);