[251216] fix: TrendingNowPanel DetailPanel MediaPanel popPanel fix
🕐 커밋 시간: 2025. 12. 16. 15:21:13 📊 변경 통계: • 총 파일: 6개 • 추가: +62줄 • 삭제: -14줄 📝 수정된 파일: ~ com.twin.app.shoptime/src/actions/mediaActions.js ~ com.twin.app.shoptime/src/actions/panelActions.js ~ com.twin.app.shoptime/src/reducers/panelReducer.js ~ com.twin.app.shoptime/src/views/DetailPanel/DetailPanel.jsx ~ com.twin.app.shoptime/src/views/MediaPanel/MediaPanel.jsx ~ com.twin.app.shoptime/src/views/MediaPanel/MediaPanel.v3.jsx 🔧 주요 변경 내용: • 핵심 비즈니스 로직 개선 • 소규모 기능 개선 • 모듈 구조 개선
This commit is contained in:
@@ -280,6 +280,7 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
|
||||
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
console.log('[🟡UNIQUE_DETAIL_CLEANUP🟡] DetailPanel cleanup - calling finishModalMediaForce');
|
||||
dispatch(finishModalMediaForce());
|
||||
};
|
||||
}, [dispatch]);
|
||||
@@ -303,16 +304,15 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
|
||||
const sourcePanel = panelInfo?.sourcePanel;
|
||||
const sourceMenu = panelInfo?.sourceMenu;
|
||||
|
||||
console.log('[DP-TRACE] Detail unmount start', {
|
||||
console.log('[🔴UNIQUE_DETAIL_UNMOUNT🔴] DetailPanel cleanup/unmount triggered', {
|
||||
sourcePanel,
|
||||
sourceMenu,
|
||||
panelsSnapshot: panels.map((p) => p.name),
|
||||
timestamp: Date.now(),
|
||||
});
|
||||
|
||||
console.log('[Detail-BG] 306-line sourcePanel:', sourcePanel, 'sourceMenu:', sourceMenu);
|
||||
|
||||
// DetailPanel이 unmount되는 시점
|
||||
console.log('[DetailPanel] unmount:', {
|
||||
console.log('[🔴UNIQUE_DETAIL_UNMOUNT🔴] DetailPanel unmount details:', {
|
||||
sourcePanel,
|
||||
sourceMenu,
|
||||
timestamp: Date.now(),
|
||||
@@ -385,6 +385,14 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
|
||||
const sourcePanel = panelInfo?.sourcePanel;
|
||||
const sourceMenu = panelInfo?.sourceMenu;
|
||||
|
||||
console.log('[🟠UNIQUE_DETAIL_BACK🟠] onBackClick triggered', {
|
||||
sourcePanel,
|
||||
sourceMenu,
|
||||
isCancelClick,
|
||||
currentPanels: panels.map((p) => p.name),
|
||||
timestamp: Date.now(),
|
||||
});
|
||||
|
||||
fp.pipe(
|
||||
() => {
|
||||
dispatch(clearAllToasts()); // BuyOption Toast 포함 모든 토스트 제거
|
||||
@@ -393,7 +401,7 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
|
||||
switch (sourcePanel) {
|
||||
case panel_names.PLAYER_PANEL:
|
||||
// PlayerPanel에서 온 경우: 플레이어 비디오는 그대로 두고 모달만 정리
|
||||
console.log('[DetailPanel] onBackClick - PlayerPanel 출신: 모달 정리만 수행');
|
||||
console.log('[🟠UNIQUE_DETAIL_BACK🟠] PlayerPanel 출신: 모달 정리만 수행');
|
||||
dispatch(finishModalMediaForce()); // MEDIA_PANEL(ProductVideo) 강제 종료
|
||||
dispatch(finishVideoPreview());
|
||||
break;
|
||||
@@ -403,7 +411,7 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
|
||||
default:
|
||||
// HomePanel, SearchPanel 등에서 온 경우: 백그라운드 비디오 일시 중지
|
||||
console.log(
|
||||
'[DetailPanel] onBackClick - source panel:',
|
||||
'[🟠UNIQUE_DETAIL_BACK🟠] source panel:',
|
||||
sourcePanel,
|
||||
'백그라운드 비디오 일시 중지'
|
||||
);
|
||||
@@ -413,6 +421,7 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
|
||||
break;
|
||||
}
|
||||
|
||||
console.log('[🟠UNIQUE_DETAIL_BACK🟠] Calling popPanel(DETAIL_PANEL)');
|
||||
dispatch(popPanel(panel_names.DETAIL_PANEL));
|
||||
},
|
||||
() => {
|
||||
|
||||
Reference in New Issue
Block a user