From f394a44bdcaa50e0e9bce28effbcc60b8142177b Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Mon, 25 May 2026 04:30:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E7=BB=88=E7=AB=AF=E5=A4=A9?= =?UTF-8?q?=E6=B0=94=E4=BA=A4=E6=98=93=E5=9B=A0=E5=AD=90=E5=92=8C=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E5=A4=A9=E6=B0=94=E6=94=B6=E7=9B=8A=E7=8E=87=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dashboard/ScanTerminalDashboard.tsx | 88 ------------------- 1 file changed, 88 deletions(-) diff --git a/frontend/components/dashboard/ScanTerminalDashboard.tsx b/frontend/components/dashboard/ScanTerminalDashboard.tsx index 92438d3e..427b74de 100644 --- a/frontend/components/dashboard/ScanTerminalDashboard.tsx +++ b/frontend/components/dashboard/ScanTerminalDashboard.tsx @@ -733,90 +733,6 @@ function NormalizedPerformancePanel({ ); } -function FactorMatrix({ - isEn, - rows, -}: { - isEn: boolean; - rows: ScanOpportunityRow[]; -}) { - const buckets = [ - [isEn ? "Heat" : "高温", rows.filter((r) => r.risk_level === "high")], - [isEn ? "Live Edge" : "实况优势", rows.filter((r) => Number(r.edge_percent || 0) > 0)], - [isEn ? "Tradable" : "可交易", rows.filter((r) => r.tradable)], - [isEn ? "AI Approved" : "AI 通过", rows.filter((r) => String(r.ai_decision || "").includes("approve"))], - [isEn ? "Watch" : "观察", rows.filter((r) => getSignalState(r) === "watch")], - [isEn ? "Closed" : "关闭", rows.filter((r) => r.closed)], - ]; - return ( - -
- {buckets.map(([label, list]) => { - const count = Array.isArray(list) ? list.length : 0; - const ratio = rows.length ? count / rows.length : 0; - const tone = - ratio >= 0.5 ? "bg-emerald-100 text-emerald-800 border-emerald-200" : - ratio >= 0.2 ? "bg-amber-100 text-amber-800 border-amber-200" : - "bg-slate-100 text-slate-600 border-slate-200"; - return ( -
-
{(ratio * 100).toFixed(1)}%
-
{String(label)}
-
- ); - })} -
-
- ); -} - -function YieldLikeTable({ - isEn, - rows, -}: { - isEn: boolean; - rows: ScanOpportunityRow[]; -}) { - const regionStats = TRADING_REGIONS.map((region) => { - const regionRows = rows.filter((row) => String(row.trading_region).toLowerCase() === region.key); - const avgEdge = regionRows.reduce((sum, row) => sum + Number(row.edge_percent || 0), 0) / Math.max(regionRows.length, 1); - const avgProb = regionRows.reduce((sum, row) => sum + Number(row.model_probability ?? row.model_event_probability ?? 0), 0) / Math.max(regionRows.length, 1); - return { - label: isEn ? region.labelEn : region.labelZh, - edge: avgEdge, - prob: avgProb, - liq: regionRows.reduce((sum, row) => sum + Number(row.book_liquidity || row.market_liquidity || 0), 0), - count: regionRows.length, - }; - }).filter((row) => row.count > 0).slice(0, 7); - return ( - - - - - - - - - - - - - {regionStats.map((row) => ( - - - - - - - - ))} - -
{isEn ? "Region" : "区域"}1D5D10D{isEn ? "Liq" : "流动性"}
{row.label}{pct(row.edge)}{pct(row.prob)}{pct(row.edge + row.prob * 0.2)}{money(row.liq)}
-
- ); -} - function PolyWeatherTerminal({ generatedText, isEn, @@ -1177,10 +1093,6 @@ function PolyWeatherTerminal({ row={selectedRow} rows={topRows} /> -
- - -