diff --git a/src/pages/stock/screener/Screener.jsx b/src/pages/stock/screener/Screener.jsx index 41995ec..5db82ab 100644 --- a/src/pages/stock/screener/Screener.jsx +++ b/src/pages/stock/screener/Screener.jsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useState, lazy, Suspense } from 'react'; import { Link } from 'react-router-dom'; import './Screener.css'; @@ -6,6 +6,8 @@ import { useScreenerMeta } from './hooks/useScreenerMeta'; import { useScreenerSettings } from './hooks/useScreenerSettings'; import { useScreenerRun } from './hooks/useScreenerRun'; import { useScreenerHistory } from './hooks/useScreenerHistory'; +import { useScreenerMode } from './hooks/useScreenerMode'; +import { useIsMobile } from '../../../hooks/useIsMobile'; import GatePanel from './components/GatePanel'; import NodePanel from './components/NodePanel'; @@ -13,18 +15,22 @@ import GlobalControls from './components/GlobalControls'; import ResultTable from './components/ResultTable'; import TelegramPreview from './components/TelegramPreview'; import RunHistoryList from './components/RunHistoryList'; +import ModeToggle from './components/ModeToggle'; + +const CanvasLayout = lazy(() => import('./components/canvas/CanvasLayout')); export default function Screener() { const { meta, loading: metaLoading } = useScreenerMeta(); - const { settings, dirty, setLocal, save } = useScreenerSettings(); + const { settings, dirty, setLocal, save } = useScreenerSettings(); const { result, running, previewHistory, runPreview, runSave, selectPreview } = useScreenerRun(); const { runs, runs_loading, selectRun, selectedRun } = useScreenerHistory(); + const { mode, setMode } = useScreenerMode(); + const isMobile = useIsMobile(); + const effectiveMode = isMobile ? 'form' : mode; - // 비교 모드 — 미리보기 히스토리에서 선택된 항목 ID const [compareId, setCompareId] = useState(null); const compareItem = previewHistory.find((p) => p.id === compareId); const compareResult = compareItem?.result ?? null; - const activeResult = selectedRun || result; if (metaLoading || !meta || !settings) { @@ -41,44 +47,83 @@ export default function Screener() { · 분석 기준일: {activeResult?.asof ?? settings.asof ?? '-'}
- +