import React from 'react' import { LineChart, Line, BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, } from 'recharts' import { Eye, Heart, MessageCircle, TrendingUp, Clock, BarChart2 } from 'lucide-react' import { mockAnalytics } from '../../data/mockData' const StatCard: React.FC<{ icon: React.ReactNode; label: string; value: string | number; color: string }> = ({ icon, label, value, color, }) => (
{icon}

{value.toLocaleString()}

{label}

) const CustomTooltip = ({ active, payload, label }: any) => { if (active && payload && payload.length) { return (

{label}

{payload.map((p: any) => (

{p.name}: {p.value.toLocaleString()}

))}
) } return null } export const StoryAnalytics: React.FC = () => { const analytics = mockAnalytics const viewsData = analytics.views_over_time.filter((_, i) => i % 5 === 0) const likesData = analytics.likes_over_time.filter((_, i) => i % 5 === 0) return (
{/* Stat cards */}
} label="Total Views" value={analytics.total_views} color="bg-blue-500/20" /> } label="Total Likes" value={analytics.total_likes} color="bg-rose-500/20" /> } label="Comments" value={analytics.total_comments} color="bg-violet-500/20" /> } label="Avg Read (min)" value={analytics.avg_read_time} color="bg-amber-500/20" /> } label="Completion %" value={`${analytics.completion_rate}%`} color="bg-emerald-500/20" />
{/* Views chart */}

Views Over Time

} />
{/* Likes chart */}

Likes Over Time

} />
) }