/** * SessionActivityChart Component * Displays session activity over time using an area chart */ 'use client'; import { AreaChart, Area, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Legend, } from 'recharts'; import { ChartCard } from './ChartCard'; import { format, subDays } from 'date-fns'; import { CHART_PALETTES } from '@/lib/chart-colors'; export interface SessionActivityData { date: string; activeSessions: number; newSessions: number; } interface SessionActivityChartProps { data?: SessionActivityData[]; loading?: boolean; error?: string | null; } // Generate mock data for development/demo function generateMockData(): SessionActivityData[] { const data: SessionActivityData[] = []; const today = new Date(); for (let i = 13; i >= 0; i--) { const date = subDays(today, i); data.push({ date: format(date, 'MMM d'), activeSessions: 30 + Math.floor(Math.random() * 20), newSessions: 5 + Math.floor(Math.random() * 10), }); } return data; } export function SessionActivityChart({ data, loading, error }: SessionActivityChartProps) { const chartData = data || generateMockData(); return ( ); }