diff --git a/frontend/components/dashboard/ScanTerminalDashboard.tsx b/frontend/components/dashboard/ScanTerminalDashboard.tsx index 74e3bdee..8947bcf4 100644 --- a/frontend/components/dashboard/ScanTerminalDashboard.tsx +++ b/frontend/components/dashboard/ScanTerminalDashboard.tsx @@ -883,13 +883,24 @@ function ScanTerminalScreen() { if (!searchQuery.trim()) return rows; const q = searchQuery.toLowerCase().trim(); return rows.filter((row) => { - const city = (rowName(row) || "").toLowerCase(); - const airport = (row.airport || "").toLowerCase(); - const region = ((isEn ? row.trading_region_label : row.trading_region_label_zh) || row.trading_region_label || "").toLowerCase(); - const signal = (row.ai_decision || row.v4_metar_decision || row.signal_status || "").toLowerCase(); - return city.includes(q) || airport.includes(q) || region.includes(q) || signal.includes(q); + const haystack = [ + row.city, + row.city_display_name, + row.display_name, + row.airport, + row.trading_region_label, + row.trading_region_label_zh, + row.market_question, + row.target_label, + row.ai_decision, + row.v4_metar_decision, + row.signal_status, + ] + .filter(Boolean) + .map((v) => String(v).toLowerCase()); + return haystack.some((s) => s.includes(q)); }); - }, [rows, searchQuery, isEn]); + }, [rows, searchQuery]); const [selectedId, setSelectedId] = useState(null); const selectedRow = useMemo( diff --git a/frontend/components/dashboard/scan-terminal/ScanTerminalShellParts.tsx b/frontend/components/dashboard/scan-terminal/ScanTerminalShellParts.tsx index 58056fe8..f7c8ad09 100644 --- a/frontend/components/dashboard/scan-terminal/ScanTerminalShellParts.tsx +++ b/frontend/components/dashboard/scan-terminal/ScanTerminalShellParts.tsx @@ -18,36 +18,17 @@ export function ScanTerminalLoadingScreen({ }) { return (
-
-
-
-
- - {isEn ? "PolyWeather Terminal" : "PolyWeather 交易决策台"} - - - {isEn - ? "Loading decision cards, city evidence, and market signals" - : "正在加载决策卡、城市证据和市场信号"} - -
-
- {userLocalTime} -
-
-
- -
-
+
+
);