fix: DetailPanel above PlayerPanel , FeaturedBrandsPanel

This commit is contained in:
2025-12-15 12:38:20 +09:00
parent f514e2468c
commit ac5414a5fe
6 changed files with 91 additions and 35 deletions

View File

@@ -1192,14 +1192,27 @@ const PlayerPanel = ({ isTabActivated, panelInfo, isOnTop, spotlightId, ...props
//todo if(modal)
return () => {
// 패널이 2개 존재할때만 popPanel 진행
if (panelInfo.modal && !isOnTop) {
console.log('[PlayerPanel] popPanel - useEffect cleanup');
// 현재 스택의 top이 PlayerPanel일 때만 pop 수행 (다른 패널이 올라온 상태에서 오작동 방지)
console.log('[PP-TRACE] cleanup start', {
modal: panelInfo.modal,
isOnTop,
topPanel: panels[panels.length - 1]?.name,
stack: panels.map((p) => p.name),
});
const topPanelName = panels[panels.length - 1]?.name;
if (
panelInfo.modal &&
!isOnTop &&
topPanelName === panel_names.PLAYER_PANEL &&
panels.length === 1 // 다른 패널 존재 시 pop 금지 (DetailPanel 제거 방지)
) {
console.log('[PP-TRACE] popPanel - useEffect cleanup (top is PlayerPanel)');
dispatch(PanelActions.popPanel());
} else {
Spotlight.focus('tbody');
}
};
}, [panelInfo?.modal, isOnTop]);
}, [panelInfo?.modal, isOnTop, panels]);
useEffect(() => {
if (showNowInfos && panelInfo.shptmBanrTpNm === 'LIVE') {