feat(frontend): refresh UI with warm fintech redesign

This commit is contained in:
Anton
2026-04-22 11:40:15 +03:00
parent 97b61de092
commit ec62a0591e
24 changed files with 1422 additions and 1472 deletions

View File

@@ -26,7 +26,7 @@ export function TimeseriesChart({ data }: Props) {
const chartHeight = isMobile ? 250 : 300;
if (data.length === 0) {
return <div className="chart-empty">Нет данных за период</div>;
return <div className="state state--empty">Нет данных за период</div>;
}
const chartData = data.map((item) => ({
@@ -39,7 +39,7 @@ export function TimeseriesChart({ data }: Props) {
return (
<ResponsiveContainer width="100%" height={chartHeight}>
<BarChart data={chartData}>
<CartesianGrid strokeDasharray="3 3" stroke="#e2e8f0" />
<CartesianGrid strokeDasharray="3 3" stroke="#e7ded2" vertical={false} />
<XAxis
dataKey="period"
tickFormatter={(v: string) => {
@@ -47,32 +47,42 @@ export function TimeseriesChart({ data }: Props) {
return `${d.getDate()}.${String(d.getMonth() + 1).padStart(2, '0')}`;
}}
fontSize={12}
stroke="#64748b"
stroke="#7d7164"
tickLine={false}
axisLine={false}
/>
<YAxis
tickFormatter={(v: number) =>
v >= 1000 ? `${(v / 1000).toFixed(0)}к` : String(v)
}
fontSize={12}
stroke="#64748b"
stroke="#7d7164"
tickLine={false}
axisLine={false}
/>
<Tooltip
formatter={(value: number) => rubFormatter.format(value)}
cursor={{ fill: 'rgba(129, 93, 58, 0.08)' }}
contentStyle={{
border: '1px solid #e7ded2',
borderRadius: 8,
boxShadow: '0 16px 36px rgba(54, 42, 30, 0.14)',
}}
/>
<Legend />
<Bar
dataKey="Расходы"
fill="#ef4444"
fill="#e85d3f"
radius={[4, 4, 0, 0]}
/>
<Bar
dataKey="Доходы"
fill="#10b981"
fill="#0f9f7f"
radius={[4, 4, 0, 0]}
/>
<Bar
dataKey="Инвестиции"
fill="#f59e0b"
fill="#d89b17"
radius={[4, 4, 0, 0]}
/>
</BarChart>