@@ -19,6 +19,7 @@ import { api, type OverviewMarket, type AiReviewReport } from '@/lib/api'
|
||||
import { QK } from '@/lib/queryKeys'
|
||||
import { cn } from '@/lib/cn'
|
||||
import { fmtBigNum } from '@/lib/format'
|
||||
import { DatePicker } from '@/components/DatePicker'
|
||||
import { PageHeader } from '@/components/PageHeader'
|
||||
import { MarkdownRenderer } from '@/components/financials/MarkdownRenderer'
|
||||
import { toast } from '@/components/Toast'
|
||||
@@ -67,8 +68,7 @@ function fmtArchivedAt(iso: string): string {
|
||||
|
||||
export function Review() {
|
||||
const qc = useQueryClient()
|
||||
// 复盘日期:当前固定取最新交易日(后续如需日期选择可改回 useState)
|
||||
const asOf: string | undefined = undefined
|
||||
const [asOf, setAsOf] = useState('')
|
||||
const [focus, setFocus] = useState('')
|
||||
// 生成状态走全局 store:切走页面流不中断,回来可恢复
|
||||
const { phase, content, error, meta } = useReviewState()
|
||||
@@ -77,8 +77,8 @@ export function Review() {
|
||||
|
||||
// 看板数据(与总览页同源)
|
||||
const marketQuery = useQuery<OverviewMarket>({
|
||||
queryKey: QK.overviewMarket(asOf),
|
||||
queryFn: () => api.overviewMarket(asOf),
|
||||
queryKey: QK.overviewMarket(asOf || undefined),
|
||||
queryFn: () => api.overviewMarket(asOf || undefined),
|
||||
staleTime: 5_000,
|
||||
placeholderData: (prev) => prev,
|
||||
})
|
||||
@@ -138,7 +138,7 @@ export function Review() {
|
||||
if (isReviewGenerating()) return
|
||||
setViewing(null)
|
||||
resetReview()
|
||||
startReviewGeneration(asOf, focus, (full, doneMeta) => {
|
||||
startReviewGeneration(asOf || undefined, focus, (full, doneMeta) => {
|
||||
onGenerationDone(full, doneMeta).catch(() => { /* 静默 */ })
|
||||
})
|
||||
}, [asOf, focus, onGenerationDone])
|
||||
@@ -190,6 +190,7 @@ export function Review() {
|
||||
subtitle={`${displayDate}${data?.emotion ? ` · 情绪 ${data.emotion.label}` : ''}`}
|
||||
right={
|
||||
<div className="flex items-center gap-1">
|
||||
<DatePicker value={asOf} onChange={setAsOf} className="w-28" />
|
||||
<button
|
||||
onClick={() => { marketQuery.refetch() }}
|
||||
disabled={marketQuery.isFetching}
|
||||
|
||||
Reference in New Issue
Block a user