[251118] fix: DetailPanel노출 시 modal 비디오 제거
🕐 커밋 시간: 2025. 11. 18. 12:02:18 📊 변경 통계: • 총 파일: 6개 • 추가: +82줄 • 삭제: -4줄 📝 수정된 파일: ~ com.twin.app.shoptime/src/App/App.js ~ com.twin.app.shoptime/src/actions/panelActions.js ~ com.twin.app.shoptime/src/actions/playActions.js ~ com.twin.app.shoptime/src/views/DetailPanel/DetailPanel.jsx ~ com.twin.app.shoptime/src/views/HomePanel/HomeBanner/RandomUnit.jsx ~ com.twin.app.shoptime/src/views/HomePanel/HomePanel.jsx 🔧 주요 변경 내용: • 핵심 비즈니스 로직 개선 • 소규모 기능 개선 • 모듈 구조 개선
This commit is contained in:
@@ -139,6 +139,8 @@ const HomePanel = ({ isOnTop }) => {
|
||||
const [cateNm, setCateNm] = useState(panelInfo.currentCateName ?? null);
|
||||
const { entryMenu, nowMenu } = useSelector((state) => state.common.menu);
|
||||
const [focusedContainerId, setFocusedContainerId] = useState(panelInfo.focusedContainerId);
|
||||
// DetailPanel 진입 시 포커스 대상 저장
|
||||
const lastFocusedTargetRef = useRef(panelInfo.lastFocusedTargetId || null);
|
||||
|
||||
const isInitialRender = useRef(true);
|
||||
const verticalPagenatorRef = useRef(null);
|
||||
@@ -790,6 +792,20 @@ const HomePanel = ({ isOnTop }) => {
|
||||
})
|
||||
);
|
||||
|
||||
// 🔽 DetailPanel에서 돌아온 뒤 포커스를 마지막 포커스 대상에 복원
|
||||
console.log('[HomePanel] *** 🎯 Focus 복원 준비');
|
||||
const targetFocusId = panelInfo.lastFocusedTargetId || lastFocusedTargetRef.current;
|
||||
console.log('[HomePanel] *** 📍 targetFocusId:', targetFocusId, '(panelInfo.lastFocusedTargetId:', panelInfo.lastFocusedTargetId, ', lastFocusedTargetRef:', lastFocusedTargetRef.current, ')');
|
||||
if (targetFocusId) {
|
||||
console.log('[HomePanel] *** ⏰ 300ms 후 Spotlight.focus 호출 예정');
|
||||
setTimeout(() => {
|
||||
console.log('[HomePanel] *** 🔍 Spotlight.focus 호출:', targetFocusId);
|
||||
Spotlight.focus(targetFocusId);
|
||||
}, 300);
|
||||
} else {
|
||||
console.log('[HomePanel] *** ⚠️ targetFocusId가 없음 - Focus 복원 스킵');
|
||||
}
|
||||
|
||||
// refs 초기화
|
||||
videoPlayIntentRef.current = null;
|
||||
lastPlayedBannerIdRef.current = null;
|
||||
@@ -821,6 +837,7 @@ const HomePanel = ({ isOnTop }) => {
|
||||
currentCatCd: targetSpotlightCatcd,
|
||||
currentCateName: targetSpotlightCateNm,
|
||||
focusedContainerId: focusedContainerIdRef.current,
|
||||
lastFocusedTargetId: lastFocusedTargetRef.current || panelInfo.lastFocusedTargetId,
|
||||
},
|
||||
})
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user