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 */}
{/* Likes chart */}
)
}