05396b2217
Remove bare `import React` from all admin panel JSX files (React 19 + Vite JSX transform makes it unnecessary) and add explicit vitest globals import to placeholder.test.js. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
1.2 KiB
React
25 lines
1.2 KiB
React
import { LineChart, Line, XAxis, YAxis, Tooltip, ResponsiveContainer, CartesianGrid } from 'recharts';
|
|
|
|
const RevenueChart = ({ data }) => (
|
|
<div>
|
|
<h3 style={{ fontFamily: 'var(--font-heading)', fontSize: '0.95rem', fontWeight: 700, marginBottom: '14px' }}>
|
|
Выручка по месяцам (₽)
|
|
</h3>
|
|
{data.length === 0 ? (
|
|
<p style={{ color: 'var(--text-muted)', fontSize: '0.85rem', textAlign: 'center', padding: '40px 0' }}>Нет закрытых заказов</p>
|
|
) : (
|
|
<ResponsiveContainer width="100%" height={210}>
|
|
<LineChart data={data} margin={{ left: 10, right: 20 }}>
|
|
<CartesianGrid strokeDasharray="3 3" stroke="rgba(15,23,42,0.05)" />
|
|
<XAxis dataKey="month" tick={{ fontSize: 11, fill: '#94a3b8' }} />
|
|
<YAxis tick={{ fontSize: 11, fill: '#94a3b8' }} tickFormatter={(v) => `${(v / 1000).toFixed(0)}к`} />
|
|
<Tooltip formatter={(v) => [`${v.toLocaleString('ru-RU')} ₽`, 'Выручка']} />
|
|
<Line type="monotone" dataKey="revenue" stroke="var(--accent-blue)" strokeWidth={2} dot={{ fill: 'var(--accent-blue)', r: 4 }} />
|
|
</LineChart>
|
|
</ResponsiveContainer>
|
|
)}
|
|
</div>
|
|
);
|
|
|
|
export default RevenueChart;
|