import { AreaChart, Area, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, ReferenceLine } from 'recharts'; import { getCumulativeReturns } from '../data/recommendations'; import type { CumulativeReturnPoint } from '../types'; interface CumulativeReturnChartProps { height?: number; className?: string; data?: CumulativeReturnPoint[]; // Optional prop for real data } export default function CumulativeReturnChart({ height = 160, className = '', data: propData }: CumulativeReturnChartProps) { // Use provided data or fall back to mock data const data = propData || getCumulativeReturns(); if (data.length === 0) { return (
No data available
); } // Format dates for display const formattedData = data.map(d => ({ ...d, displayDate: new Date(d.date).toLocaleDateString('en-IN', { month: 'short', day: 'numeric' }), })); const lastPoint = formattedData[formattedData.length - 1]; const isPositive = lastPoint.aiReturn >= 0; return (
`${v}%`} className="text-gray-500 dark:text-gray-400" width={40} /> [`${(value as number).toFixed(1)}%`, 'Return']} labelFormatter={(label) => `Date: ${label}`} />
); }