From 13a74ea6c2d633c5c2f7500ec2264cdfb88e9313 Mon Sep 17 00:00:00 2001 From: optrader Date: Mon, 17 Nov 2025 12:26:30 +0900 Subject: [PATCH] [251117] fix: MediaPanel.v3,VideoPlayer.v3 mimimize Video issue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ๐Ÿ• ์ปค๋ฐ‹ ์‹œ๊ฐ„: 2025. 11. 17. 12:26:29 ๐Ÿ“Š ๋ณ€๊ฒฝ ํ†ต๊ณ„: โ€ข ์ด ํŒŒ์ผ: 2๊ฐœ โ€ข ์ถ”๊ฐ€: +31์ค„ โ€ข ์‚ญ์ œ: -20์ค„ ๐Ÿ“ ์ˆ˜์ •๋œ ํŒŒ์ผ: ~ com.twin.app.shoptime/src/actions/mediaActions.js ~ com.twin.app.shoptime/src/views/MediaPanel/MediaPanel.v3.jsx ๐Ÿ”ง ์ฃผ์š” ๋ณ€๊ฒฝ ๋‚ด์šฉ: โ€ข ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ฐœ์„  โ€ข ์†Œ๊ทœ๋ชจ ๊ธฐ๋Šฅ ๊ฐœ์„  โ€ข ์ฝ”๋“œ ์ •๋ฆฌ ๋ฐ ์ตœ์ ํ™” --- .../src/actions/mediaActions.js | 36 +++++++++---------- .../src/views/MediaPanel/MediaPanel.v3.jsx | 15 ++++++-- 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/com.twin.app.shoptime/src/actions/mediaActions.js b/com.twin.app.shoptime/src/actions/mediaActions.js index ad053994..12c135fb 100644 --- a/com.twin.app.shoptime/src/actions/mediaActions.js +++ b/com.twin.app.shoptime/src/actions/mediaActions.js @@ -237,16 +237,16 @@ export const switchMediaToModal = (modalContainerId, modalClassName) => (dispatc export const minimizeModalMedia = () => (dispatch, getState) => { const panels = getState().panels.panels; - // console.log('[Minimize] ========== Called =========='); - // console.log('[Minimize] Total panels:', panels.length); - // console.log( - // '[Minimize] All panels:', - // JSON.stringify( - // panels.map((p) => ({ name: p.name, modal: p.panelInfo?.modal })), - // null, - // 2 - // ) - // ); + console.log('[Minimize] ========== Called =========='); + console.log('[Minimize] Total panels:', panels.length); + console.log( + '[Minimize] All panels:',panels + // JSON.stringify( + // panels.map((p) => ({ name: p.name, modal: p.panelInfo?.modal })), + // null, + // 2 + // ) + ); const modalMediaPanel = panels.find( (panel) => panel.name === panel_names.MEDIA_PANEL && panel.panelInfo?.modal @@ -254,17 +254,17 @@ export const minimizeModalMedia = () => (dispatch, getState) => { // console.log('[Minimize] Found modalMediaPanel:', !!modalMediaPanel); if (modalMediaPanel) { - // console.log( - // '[Minimize] modalMediaPanel.panelInfo:', - // JSON.stringify(modalMediaPanel.panelInfo, null, 2) - // ); + console.log( + '[Minimize] modalMediaPanel.panelInfo:', + JSON.stringify(modalMediaPanel.panelInfo, null, 2) + ); // console.log('[Minimize] โœ… Minimizing modal MediaPanel (modal=false, isMinimized=true)'); dispatch( updatePanel({ name: panel_names.MEDIA_PANEL, panelInfo: { ...modalMediaPanel.panelInfo, - modal: false, // fullscreen ๋ชจ๋“œ๋กœ ์ „ํ™˜ + // modal: false, // fullscreen ๋ชจ๋“œ๋กœ ์ „ํ™˜ isMinimized: true, // modal-minimized ํด๋ž˜์Šค ์ ์šฉ (1px ํฌ๊ธฐ) shouldShrinkTo1px: true, // shrink ํ”Œ๋ž˜๊ทธ ์ถ”๊ฐ€ // modalContainerId, modalClassName ๋“ฑ์€ ๋ณต์›์„ ์œ„ํ•ด ์œ ์ง€ @@ -273,7 +273,7 @@ export const minimizeModalMedia = () => (dispatch, getState) => { }) ); } else { - // console.log('[Minimize] โŒ No modal MediaPanel found - cannot minimize'); + console.log('[Minimize] โŒ No modal MediaPanel found - cannot minimize'); } }; @@ -307,11 +307,11 @@ export const restoreModalMedia = () => (dispatch, getState) => { // ) // ); - // modal=false AND isMinimized=true์ธ MediaPanel์„ ์ฐพ์Œ (์ตœ์†Œํ™” ์ƒํƒœ) + // modal=true AND isMinimized=true์ธ MediaPanel์„ ์ฐพ์Œ (์ตœ์†Œํ™” ์ƒํƒœ) const minimizedMediaPanel = panels.find( (panel) => panel.name === panel_names.MEDIA_PANEL && - !panel.panelInfo?.modal && + panel.panelInfo?.modal && panel.panelInfo?.isMinimized ); diff --git a/com.twin.app.shoptime/src/views/MediaPanel/MediaPanel.v3.jsx b/com.twin.app.shoptime/src/views/MediaPanel/MediaPanel.v3.jsx index 60718922..ccf5f658 100644 --- a/com.twin.app.shoptime/src/views/MediaPanel/MediaPanel.v3.jsx +++ b/com.twin.app.shoptime/src/views/MediaPanel/MediaPanel.v3.jsx @@ -2217,10 +2217,21 @@ const MediaPanel = React.forwardRef( }; }, [createLogParams, dispatch, showDetailInfo]); + // const containerClassName = classNames( + // css.videoContainer, + // panelInfo.modal && css.modal, + // // !panelInfo.modal && css.fullscreen, + // panelInfo.shouldShrinkTo1px && css.shrinkTo1px, + // // MediaPanel์ด ์ตœ์ƒ๋‹จ ์•„๋‹ˆ๊ณ , ์ตœ์ƒ๋‹จ์ด DetailPanel(from Player)์ด๋ฉด ๋น„๋””์˜ค ๋ณด์ด๋„๋ก + // !isOnTop && isTopPanelDetailFromPlayer && css['background-visible'], + // // MediaPanel์ด ์ตœ์ƒ๋‹จ ์•„๋‹ˆ๊ณ , ์œ„ ์กฐ๊ฑด ์•„๋‹ˆ๋ฉด 1px๋กœ ์ˆจ๊น€ + // !isOnTop && !isTopPanelDetailFromPlayer && css.background, + // !captionEnable && css.hideSubtitle + // ); + const containerClassName = classNames( css.videoContainer, panelInfo.modal && css.modal, - !panelInfo.modal && css.fullscreen, panelInfo.shouldShrinkTo1px && css.shrinkTo1px, // MediaPanel์ด ์ตœ์ƒ๋‹จ ์•„๋‹ˆ๊ณ , ์ตœ์ƒ๋‹จ์ด DetailPanel(from Player)์ด๋ฉด ๋น„๋””์˜ค ๋ณด์ด๋„๋ก !isOnTop && isTopPanelDetailFromPlayer && css['background-visible'], @@ -2278,7 +2289,7 @@ const MediaPanel = React.forwardRef( {isReadyToPlay && (