[251119] feat: FloatingGradientLayer..Experimental
🕐 커밋 시간: 2025. 11. 19. 17:35:53 📊 변경 통계: • 총 파일: 8개 • 추가: +43줄 📁 추가된 파일: + com.twin.app.shoptime/src/components/FloatingGradientBackground/FloatingGradientBackground.jsx + com.twin.app.shoptime/src/components/FloatingGradientBackground/FloatingGradientBackground.module.less + com.twin.app.shoptime/src/views/DetailPanel/components/DetailPanelBackground/DetailPanelBackground.v2.jsx 📝 수정된 파일: ~ 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/HomePanel/HomePanel.jsx ~ com.twin.app.shoptime/src/views/HomePanel/HomePanel.module.less 🔧 주요 변경 내용: • 핵심 비즈니스 로직 개선 • UI 컴포넌트 아키텍처 개선 • 소규모 기능 개선 • 모듈 구조 개선
This commit is contained in:
@@ -46,6 +46,7 @@ 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';
|
||||
@@ -441,6 +442,9 @@ 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);
|
||||
@@ -892,8 +896,24 @@ 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 />
|
||||
) : (
|
||||
|
||||
Reference in New Issue
Block a user