import React from 'react'; import { Link } from 'react-router-dom'; import './Screener.css'; import { useScreenerMeta } from './hooks/useScreenerMeta'; import { useScreenerSettings } from './hooks/useScreenerSettings'; import { useScreenerRun } from './hooks/useScreenerRun'; import { useScreenerHistory } from './hooks/useScreenerHistory'; import GatePanel from './components/GatePanel'; import NodePanel from './components/NodePanel'; import GlobalControls from './components/GlobalControls'; import ResultTable from './components/ResultTable'; import TelegramPreview from './components/TelegramPreview'; import RunHistoryList from './components/RunHistoryList'; export default function Screener() { const { meta, loading: metaLoading } = useScreenerMeta(); const { settings, dirty, setLocal, save } = useScreenerSettings(); const { result, running, runPreview, runSave } = useScreenerRun(); const { runs, runs_loading, selectRun, selectedRun } = useScreenerHistory(); const activeResult = selectedRun || result; if (metaLoading || !meta || !settings) { return
최근 자동 잡: {runs?.find(r => r.mode === 'auto')?.asof ?? '-'} · 분석 기준일: {activeResult?.asof ?? settings.asof ?? '-'}