From 9e74883fe7a76ef7fa3833a7c5a905fdee59ae72 Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Mon, 25 May 2026 03:25:52 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=88=E7=AB=AF=E5=B7=A6=E4=BE=A7=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=8F=AF=E6=94=B6=E7=BC=A9=E5=AF=BC=E8=88=AA=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=EF=BC=9A=E6=8A=98=E5=8F=A0/=E5=B1=95=E5=BC=80?= =?UTF-8?q?=E5=88=87=E6=8D=A2=EF=BC=8C=E4=B8=AD=E8=8B=B1=E6=96=87=E6=A0=87?= =?UTF-8?q?=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Menu 按钮切换展开/收起,52px 折叠态图标栏 → 172px 展开态带标签面板。6 个导航入口:天气合约、交易信号、分析图表、自选监控、实时预警、市场概览。 --- .../dashboard/ScanTerminalDashboard.tsx | 114 ++++++++++++++---- 1 file changed, 92 insertions(+), 22 deletions(-) diff --git a/frontend/components/dashboard/ScanTerminalDashboard.tsx b/frontend/components/dashboard/ScanTerminalDashboard.tsx index 12d5e76f..d58bad61 100644 --- a/frontend/components/dashboard/ScanTerminalDashboard.tsx +++ b/frontend/components/dashboard/ScanTerminalDashboard.tsx @@ -7,6 +7,7 @@ import { BarChart3, Bell, ChevronDown, + ChevronLeft, ChevronRight, CloudSun, CreditCard, @@ -354,6 +355,18 @@ function PolyWeatherTerminal({ .slice(0, 8); const selectedSignal = selectedRow ? getSignalState(selectedRow) : "data" as const; const selectedLabel = selectedRow ? getSignalLabel(selectedSignal, isEn) : ""; + const [navExpanded, setNavExpanded] = useState(false); + const [activeNavKey, setActiveNavKey] = useState("contracts"); + + const NAV_ITEMS = [ + { key: "contracts", Icon: Table2, labelEn: "Contracts", labelZh: "天气合约" }, + { key: "signals", Icon: LineChart, labelEn: "Signals", labelZh: "交易信号" }, + { key: "analytics", Icon: BarChart3, labelEn: "Analytics", labelZh: "分析图表" }, + { key: "watchlist", Icon: Gauge, labelEn: "Watchlist", labelZh: "自选监控" }, + { key: "alerts", Icon: Bell, labelEn: "Alerts", labelZh: "实时预警" }, + { key: "markets", Icon: Activity, labelEn: "Markets", labelZh: "市场概览" }, + ]; + const continentGroups = useMemo( () => buildContinentGroups(rows, isEn), [rows, isEn] @@ -379,29 +392,86 @@ function PolyWeatherTerminal({ return (
-
+ + {/* Toggle button */} + + + {/* Nav items */} + {NAV_ITEMS.map(({ key, Icon, labelEn, labelZh }) => { + const isActive = activeNavKey === key; + return ( + + ); + })}