"use client"; import clsx from "clsx"; import type { ScanOpportunityRow } from "@/lib/dashboard-types"; import { formatPrice } from "@/components/dashboard/scan-terminal/continent-grouping"; import { rowName, pct } from "@/components/dashboard/scan-terminal/utils"; function tablePrice(row: ScanOpportunityRow) { return formatPrice(row.midpoint, row.ask, row.bid); } export function KoyfinRowsTable({ compact = false, isEn, onSelect, rows, selectedId, }: { compact?: boolean; isEn: boolean; onSelect: (row: ScanOpportunityRow) => void; rows: ScanOpportunityRow[]; selectedId?: string | null; }) { return (
| {isEn ? "City" : "城市"} | {isEn ? "Price" : "价格"} | {isEn ? "Chg" : "变化"} | % | |
|---|---|---|---|---|
|
{rowName(row)}
{row.target_label || row.market_question || row.airport || "--"}
|
{tablePrice(row)} | {Number.isFinite(edge) ? `${positive ? "+" : ""}${edge.toFixed(1)}` : "--"} | {pct(row.market_probability ?? row.market_event_probability ?? row.model_probability)} |