import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip } from 'recharts';
import { useRealtimeAnalytics } from './useRealtimeAnalytics';
export function AnalyticsDashboard() {
const { data, error } = useRealtimeAnalytics();
const [history, setHistory] = useState([]);
useEffect(() => {
if (data) {
setHistory(prev => [...prev.slice(-20), {
time: new Date(data.timestamp).toLocaleTimeString(),
visitors: data.visitors,
pageViews: data.pageViews
}]);
}
}, [data]);
if (error) return <div>Connection error: {error.message}</div>;
if (!data) return <div>Connecting to live data...</div>;
return (
<div className="dashboard">
<div className="metrics">
<div className="metric-card">
<h3>Current Visitors</h3>
<p className="metric-value">{data.visitors}</p>
</div>
<div className="metric-card">
<h3>Page Views</h3>
<p className="metric-value">{data.pageViews}</p>
</div>
</div>
<LineChart width={800} height={400} data={history}>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="time" />
<YAxis />
<Tooltip />
<Line type="monotone" dataKey="visitors" stroke="#8884d8" />
<Line type="monotone" dataKey="pageViews" stroke="#82ca9d" />
</LineChart>
</div>
);
}