diff --git a/frontend/src/pages/Dashboard.tsx b/frontend/src/pages/Dashboard.tsx index d2405bd..8d0a96d 100644 --- a/frontend/src/pages/Dashboard.tsx +++ b/frontend/src/pages/Dashboard.tsx @@ -94,8 +94,7 @@ const _SEVERITY_BAR: Record = { info: 'bg-accent/40', warn: 'bg-warning', critical: 'bg-danger', } -function MonitorWidget() { - const [previewEv, setPreviewEv] = useState(null) +function MonitorWidget({ onStockClick }: { onStockClick: (event: AlertEvent) => void }) { const alerts = useQuery({ queryKey: ['alerts', ''], queryFn: () => api.alertsList({ days: 7, limit: 10 }), @@ -134,7 +133,7 @@ function MonitorWidget() { {/* 第一行: 代码 + 名称 + 价格 + 涨跌幅 (点击代码/名称弹日K) */}
- - setPreviewEv(null)} - /> ) } @@ -533,7 +519,7 @@ export function Dashboard() { const qc = useQueryClient() const [selectedDate, setSelectedDate] = useState() const [manualFetching, setManualFetching] = useState(false) - const [previewStock, setPreviewStock] = useState<{symbol: string; name?: string} | null>(null) + const [previewStock, setPreviewStock] = useState<{symbol: string; name?: string; alert?: AlertEvent} | null>(null) // 首次使用(无数据 + 未完成引导)自动弹窗: 同一会话只弹一次 const [showWelcomeModal, setShowWelcomeModal] = useState(false) const dataStatus = useDataStatus({ staleTime: 60_000 }) @@ -826,7 +812,9 @@ export function Dashboard() { - + { + if (event.symbol) setPreviewStock({ symbol: event.symbol, name: event.name ?? undefined, alert: event }) + }} /> @@ -834,6 +822,13 @@ export function Dashboard() { setPreviewStock(null)} />