[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

@@ -46,7 +46,6 @@ import { enqueuePanelHistory } from '../actions/panelHistoryActions';
import NotSupportedVersion from '../components/NotSupportedVersion/NotSupportedVersion';
import ToastContainer from '../components/TToast/ToastContainer';
import GlobalPopup from '../components/GlobalPopup/GlobalPopup';
import FloatingGradientBackground from '../components/FloatingGradientBackground/FloatingGradientBackground';
import usePrevious from '../hooks/usePrevious';
import { lunaTest } from '../lunaSend/lunaTest';
import { store } from '../store/store';
@@ -442,9 +441,6 @@ if (typeof Spotlight !== 'undefined' && Spotlight.addEventListener) {
function AppBase(props) {
const dispatch = useDispatch();
// 그라데이션 배경 표시 상태 관리 (기본적으로 숨김)
const [showGradientBackground, setShowGradientBackground] = React.useState(false);
const httpHeader = useSelector((state) => state.common.httpHeader);
const httpHeaderRef = useRef(httpHeader);
const webOSVersion = useSelector((state) => state.common.appStatus.webOSVersion);
@@ -896,24 +892,8 @@ function AppBase(props) {
);
}, [dispatch, initService]);
// ✅ 그라데이션 배경 제어 함수를 전역에 노출
useEffect(() => {
window.toggleFloatingGradient = setShowGradientBackground;
window.showFloatingGradient = () => setShowGradientBackground(true);
window.hideFloatingGradient = () => setShowGradientBackground(false);
return () => {
delete window.toggleFloatingGradient;
delete window.showFloatingGradient;
delete window.hideFloatingGradient;
};
}, []);
return (
<ErrorBoundary>
{/* 항상 메모리에 로드되는 떠 있는 그라데이션 배경 */}
<FloatingGradientBackground visible={showGradientBackground} />
{webOSVersion === '' ? null : Number(webOSVersion) < 4 ? (
<NotSupportedVersion />
) : (