From f8574f1b4511da4b91464304ebe55cb36e75336d Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 13 May 2026 21:51:16 +0900 Subject: [PATCH] feat(screener): CanvasLayout (canvas + result grid) --- .../components/canvas/CanvasLayout.jsx | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/pages/stock/screener/components/canvas/CanvasLayout.jsx diff --git a/src/pages/stock/screener/components/canvas/CanvasLayout.jsx b/src/pages/stock/screener/components/canvas/CanvasLayout.jsx new file mode 100644 index 0000000..f7f02d4 --- /dev/null +++ b/src/pages/stock/screener/components/canvas/CanvasLayout.jsx @@ -0,0 +1,56 @@ +import React from 'react'; +import ScreenerCanvas from './ScreenerCanvas'; +import ResultTable from '../ResultTable'; +import TelegramPreview from '../TelegramPreview'; +import RunHistoryList from '../RunHistoryList'; + +export default function CanvasLayout({ + meta, settings, setLocal, save, dirty, + result, running, previewHistory, runPreview, runSave, selectPreview, + runs, runs_loading, selectRun, selectedRun, + compareId, setCompareId, +}) { + const compareItem = previewHistory.find((p) => p.id === compareId); + const compareResult = compareItem?.result ?? null; + const activeResult = selectedRun || result; + + return ( +
+
+ runPreview(settings)} + onRunSave={() => runSave(settings)} + onPersistSettings={save} + /> +
+
+
+ + +
+ +
+
+ ); +}