diff --git a/frontend/components/dashboard/ScanTerminalDashboard.tsx b/frontend/components/dashboard/ScanTerminalDashboard.tsx index 3a9a2371..36dc5408 100644 --- a/frontend/components/dashboard/ScanTerminalDashboard.tsx +++ b/frontend/components/dashboard/ScanTerminalDashboard.tsx @@ -325,20 +325,24 @@ function MarketTable({ function KoyfinWeatherTerminal({ generatedText, isEn, + locale, onRefresh, refreshing, rows, selectedRow, setSelectedRow, + toggleLocale, userLocalTime, }: { generatedText: string; isEn: boolean; + locale: "zh-CN" | "en-US"; onRefresh: () => void; refreshing: boolean; rows: ScanOpportunityRow[]; selectedRow: ScanOpportunityRow | null; setSelectedRow: (row: ScanOpportunityRow) => void; + toggleLocale: () => void; userLocalTime: string; }) { const topRows = rows.slice(0, 18); @@ -404,6 +408,35 @@ function KoyfinWeatherTerminal({
{userLocalTime} + {/* Language toggle — matches landing page style */} + ("zh-CN"); const isEn = locale === "en-US"; + const toggleLocale = () => + setLocale((prev) => (prev === "zh-CN" ? "en-US" : "zh-CN")); const [hydrated, setHydrated] = useState(false); const [localFullAccess, setLocalFullAccess] = useState(false); const canUseLocalFullAccess = hydrated && localFullAccess; @@ -957,11 +992,13 @@ function ScanTerminalScreen() { setSelectedId(row.id)} + toggleLocale={toggleLocale} userLocalTime={userLocalTime} /> );