mirror of
https://ghfast.top/https://github.com/aeroxw/tick-stock-panel.git
synced 2026-09-12 17:54:15 +08:00
新增个股分析页,以行情与关键价位为视觉主体,与财务分析(财务质量评级)定位互补: 后端: - indicators/levels.py: 9 类关键价位纯函数计算 · 压力支撑(布林带)/ 成交密集区(POC)/ 枢轴点(可配档位)/ 前高前低 · Keltner通道(MA±n×ATR 短/中/长)/ ATR止损(close±nATR) · 缺口位(未回补跳空)/ 斐波那契回撤 / 整数关口(自适应步长) - services/stock_analyzer.py: AI 四维(技术/基本面/财务/消息面)流式分析,NDJSON - services/stock_reports.py: 报告持久化(最多50条),独立 JSON 存储 - api/stock_analysis.py: levels/analyze/reports 端点 前端: - AnalysisKChart: 专用 ECharts 日K(主图+成交量+滑块),9 类价位开关 - 蓝色胶囊(Bubble/Host/Dialog),与财务分析紫色主题并存 - stockAnalysisStore: useSyncExternalStore 全局存储,后台流式 - useLastStock + LastStockChip: 记忆最近查看个股(财务/个股分析页) 其他优化: - AI 设置页:一键清空配置(保留UA) + 保存后乐观更新连接状态/菜单 - MarkdownRenderer: 去除 space-y-0 遮蔽,各块间距与分隔线可见性优化 - 个股分析页 Beta 标识(标题 + 菜单) - 版本号 0.1.45 → 0.1.50
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import { Clock } from 'lucide-react'
|
|
import type { StockRef } from '@/lib/useLastStock'
|
|
|
|
/**
|
|
* "上次查看"个股胶囊 —— 显示在 PageHeader 右侧。
|
|
* 上方名称、下方代码,小字体二排;点击恢复该个股的查看。
|
|
*/
|
|
export function LastStockChip({
|
|
stock,
|
|
onSelect,
|
|
}: {
|
|
stock: StockRef | null
|
|
onSelect?: (symbol: string, name: string) => void
|
|
}) {
|
|
if (!stock) return null
|
|
return (
|
|
<button
|
|
onClick={() => onSelect?.(stock.symbol, stock.name)}
|
|
title={`继续查看 ${stock.name}`}
|
|
className="group inline-flex items-center gap-1.5 rounded-lg border border-border/40 bg-elevated/40 px-2 py-1 hover:border-border hover:bg-elevated transition-colors"
|
|
>
|
|
<Clock className="h-3 w-3 text-muted shrink-0" />
|
|
<span className="flex flex-col items-start leading-tight">
|
|
<span className="text-[11px] font-medium text-secondary group-hover:text-foreground transition-colors max-w-[7em] truncate">
|
|
{stock.name}
|
|
</span>
|
|
<span className="text-[9px] font-mono text-muted">{stock.symbol}</span>
|
|
</span>
|
|
</button>
|
|
)
|
|
}
|