import { useState, useEffect } from 'react'; import { DollarSign, ShoppingCart, Users, Activity } from 'lucide-react'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, PieChart, Pie, Cell } from 'recharts'; import api from '../services/api'; export default function Dashboard() { const [data, setData] = useState({ revenue: 0, newOrders: 0, users: 0, todayVisits: 0 }); useEffect(() => { const fetchStats = async () => { try { const response = await api.get('/admin/dashboard/stats'); if (response.data?.success) { setData(response.data.data); } } catch (err) { console.error('Failed to fetch stats', err); } }; fetchStats(); }, []); const chartData = [ { name: 'شنبه', بازدید: 400, فروش: 2400 }, { name: 'یکشنبه', بازدید: 300, فروش: 1398 }, { name: 'دوشنبه', بازدید: 200, فروش: 9800 }, { name: 'سهشنبه', بازدید: 278, فروش: 3908 }, { name: 'چهارشنبه', بازدید: 189, فروش: 4800 }, { name: 'پنجشنبه', بازدید: 239, فروش: 3800 }, { name: 'جمعه', بازدید: 349, فروش: 4300 }, ]; const pieData = [ { name: 'سگ', value: 400 }, { name: 'گربه', value: 300 }, { name: 'پرنده', value: 300 }, ]; const COLORS = ['#0088FE', '#00C49F', '#FFBB28']; const stats = [ { title: 'درآمد کل', value: `${data.revenue.toLocaleString()} تومان`, icon: DollarSign, color: 'text-green-600', bg: 'bg-green-100' }, { title: 'سفارشات جدید', value: data.newOrders.toString(), icon: ShoppingCart, color: 'text-blue-600', bg: 'bg-blue-100' }, { title: 'کاربران فعال', value: data.users.toString(), icon: Users, color: 'text-purple-600', bg: 'bg-purple-100' }, { title: 'بازدید امروز', value: data.todayVisits.toString(), icon: Activity, color: 'text-orange-600', bg: 'bg-orange-100' }, ]; return (
خلاصهای از وضعیت فروشگاه کانینو
{stat.title}
{stat.value}