'use client'
import { useState } from 'react'
import {
LineChart,
Line,
BarChart,
Bar,
PieChart,
Pie,
Cell,
ResponsiveContainer,
XAxis,
YAxis,
CartesianGrid,
Tooltip,
Legend,
} from 'recharts'
const dashboardData = {
revenue: [
{ month: 'Jan', value: 4000 },
{ month: 'Feb', value: 5000 },
{ month: 'Mar', value: 3000 },
],
sales: [
{ product: 'A', sales: 400 },
{ product: 'B', sales: 300 },
{ product: 'C', sales: 200 },
],
distribution: [
{ name: 'Web', value: 60 },
{ name: 'Mobile', value: 30 },
{ name: 'Other', value: 10 },
],
}
export function Dashboard() {
return (
<div className="grid grid-cols-1 md:grid-cols-2 gap-6 p-6">
{/* Revenue Chart */}
<div className="bg-white p-6 rounded-lg shadow">
<h2 className="text-lg font-bold mb-4">Revenue Trend</h2>
<ResponsiveContainer width="100%" height={250}>
<LineChart data={dashboardData.revenue}>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="month" />
<YAxis />
<Tooltip />
<Line type="monotone" dataKey="value" stroke="#8884d8" />
</LineChart>
</ResponsiveContainer>
</div>
{/* Sales Chart */}
<div className="bg-white p-6 rounded-lg shadow">
<h2 className="text-lg font-bold mb-4">Sales by Product</h2>
<ResponsiveContainer width="100%" height={250}>
<BarChart data={dashboardData.sales}>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="product" />
<YAxis />
<Tooltip />
<Bar dataKey="sales" fill="#82ca9d" />
</BarChart>
</ResponsiveContainer>
</div>
{/* Distribution Chart */}
<div className="bg-white p-6 rounded-lg shadow">
<h2 className="text-lg font-bold mb-4">Channel Distribution</h2>
<ResponsiveContainer width="100%" height={250}>
<PieChart>
<Pie
data={dashboardData.distribution}
cx="50%"
cy="50%"
labelLine={false}
label={({ name, value }) => `${name}: ${value}%`}
outerRadius={80}
dataKey="value"
>
{dashboardData.distribution.map((entry, index) => (
<Cell
key={`cell-${index}`}
fill={['#0088FE', '#00C49F', '#FFBB28'][index]}
/>
))}
</Pie>
</PieChart>
</ResponsiveContainer>
</div>
</div>
)
}