import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Legend } from 'recharts'; import { getAccuracyTrend } from '../data/recommendations'; export interface AccuracyTrendPoint { date: string; overall: number; buy: number; sell: number; hold: number; } interface AccuracyTrendChartProps { height?: number; className?: string; data?: AccuracyTrendPoint[]; // Optional prop for real data } export default function AccuracyTrendChart({ height = 200, className = '', data: propData }: AccuracyTrendChartProps) { // Use provided data or fall back to mock data const data = propData || getAccuracyTrend(); if (data.length === 0) { return (
No accuracy data available
); } // Format dates for display const formattedData = data.map(d => ({ ...d, displayDate: new Date(d.date).toLocaleDateString('en-IN', { month: 'short', day: 'numeric' }), })); return (
`${v}%`} className="text-gray-500 dark:text-gray-400" /> [`${value}%`, '']} labelFormatter={(label) => `Date: ${label}`} /> value.charAt(0).toUpperCase() + value.slice(1)} />
); }