[251119] feat: FloatingGradientLayer..Experimental..2

🕐 커밋 시간: 2025. 11. 19. 19:24:28

📊 변경 통계:
  • 총 파일: 10개
  • 추가: +95줄
  • 삭제: -181줄

📝 수정된 파일:
  ~ com.twin.app.shoptime/src/App/App.js
  ~ com.twin.app.shoptime/src/actions/panelActions.js
  ~ com.twin.app.shoptime/src/views/DetailPanel/DetailPanel.jsx
  ~ com.twin.app.shoptime/src/views/DetailPanel/components/DetailPanelBackground/DetailPanelBackground.jsx
  ~ com.twin.app.shoptime/src/views/HomePanel/HomePanel.jsx
  ~ com.twin.app.shoptime/src/views/HomePanel/HomePanel.module.less
  ~ com.twin.app.shoptime/src/views/MainView/MainView.jsx
  ~ com.twin.app.shoptime/src/views/MediaPanel/MediaPanel.v3.jsx

🗑️ 삭제된 파일:
  - com.twin.app.shoptime/src/components/FloatingGradientBackground/FloatingGradientBackground.jsx
  - com.twin.app.shoptime/src/components/FloatingGradientBackground/FloatingGradientBackground.module.less

🔧 주요 변경 내용:
  • 핵심 비즈니스 로직 개선
  • UI 컴포넌트 아키텍처 개선
  • 소규모 기능 개선
  • 코드 정리 및 최적화
  • 모듈 구조 개선

Performance: 코드 최적화로 성능 개선 기대
This commit is contained in:
2025-11-19 19:24:29 +09:00
parent d8dce0a89d
commit 276ee65979
10 changed files with 95 additions and 181 deletions

View File

@@ -151,6 +151,7 @@ export default function MainView({ className, initService }) {
const { showLoadingPanel, toast, toastText, isLoading, webOSVersion, deviceId } = useSelector(
(state) => state.common.appStatus
);
const homeInfo = useSelector((state) => state.home.homeInfo);
const skipEndOfServicePopup = useSelector((state) => state.localSettings.skipEndOfServicePopup);
const isInternetConnected = useSelector((state) => state.common.appStatus.isInternetConnected);
@@ -269,7 +270,11 @@ export default function MainView({ className, initService }) {
(panels[0]?.name === Config.panel_names.PLAYER_PANEL ||
panels[0]?.name === Config.panel_names.PLAYER_PANEL_NEW ||
panels[0]?.name === Config.panel_names.MEDIA_PANEL))) && (
<HomePanel key={Config.panel_names.HOME_PANEL} isOnTop={isHomeOnTop} />
<HomePanel
key={Config.panel_names.HOME_PANEL}
isOnTop={isHomeOnTop}
showGradientBackground={homeInfo?.panelInfo?.showGradientBackground || false}
/>
)}
{renderingPanels.map((panel, index) => {
const Component = panelMap[panel.name];
@@ -323,11 +328,17 @@ export default function MainView({ className, initService }) {
</>
);
} else if (isHomeOnTop) {
return <HomePanel key={Config.panel_names.HOME_PANEL} isOnTop={isHomeOnTop} />;
return (
<HomePanel
key={Config.panel_names.HOME_PANEL}
isOnTop={isHomeOnTop}
showGradientBackground={homeInfo?.panelInfo?.showGradientBackground || false}
/>
);
}
return null;
}, [panels, tabActivated, isHomeOnTop]);
}, [panels, tabActivated, isHomeOnTop, homeInfo]);
const onTabActivated = useCallback((activated) => {
setTabActivated(activated);