import { useState } from 'react'; import { useNavigate } from '@tanstack/react-router'; import { useRecommendations } from '../api/hooks'; import { DataTable, type Column } from '../components/DataTable'; import { StatusBadge, ConfidenceBar, LoadingSpinner, TickerFilter } from '../components/ui'; import type { Recommendation } from '../api/hooks'; export function RecommendationsPage() { const navigate = useNavigate(); const [ticker, setTicker] = useState(''); const { data, isLoading } = useRecommendations({ ticker: ticker || undefined, limit: 100 }); const columns: Column[] = [ { key: 'ticker', header: 'Ticker', className: 'font-mono font-semibold text-brand-300' }, { key: 'action', header: 'Action', render: (r) => }, { key: 'mode', header: 'Mode', render: (r) => }, { key: 'confidence', header: 'Confidence', render: (r) => }, { key: 'thesis', header: 'Thesis', render: (r) => {r.thesis ?? '—'} }, { key: 'generated_at', header: 'Generated', render: (r) => {new Date(r.generated_at).toLocaleString()} }, ]; if (isLoading) return ; return (

Recommendations

data={data ?? []} columns={columns} keyField="id" onRowClick={(row) => navigate({ to: '/recommendations/$id', params: { id: row.id } })} />
); }