'января', 2 => 'февраля', 3 => 'марта', 4 => 'апреля', 5 => 'мая', 6 => 'июня',
7 => 'июля', 8 => 'августа', 9 => 'сентября', 10 => 'октября', 11 => 'ноября', 12 => 'декабря',
];
// В дизайне доход подсвечен зелёным, а расход — обычным текстом (не красным); тут же приводим
// зелёный к общему токену --positive-text вместо отдельного литерала oklch(...).
$type_colors = [
'income' => 'var(--positive-text)',
'expense' => 'var(--ink)',
'transfer' => 'var(--muted)',
];
$type_signs = [
'income' => '+',
'expense' => '−',
'transfer' => '',
];
?>
Транзакции
Нет операций — транзакции появятся здесь после добавления
date);
$dateLabel = (int)$d->format('j') . ' ' . $month_names_gen[(int)$d->format('n')];
$amount = (float)$tx->summa * ((float)($tx->rate_to_rub ?? 1));
$color = $type_colors[$tx->type] ?? 'var(--muted)';
$sign = $type_signs[$tx->type] ?? '';
$category = $tx->category_title ?? ($tx->type === 'transfer' ? 'Перевод' : '—');
$account = $tx->account_f_title ?? $tx->account_in_title ?? '';
?>
= htmlspecialchars($category, ENT_QUOTES, 'UTF-8') ?>
= htmlspecialchars($dateLabel, ENT_QUOTES, 'UTF-8') ?>
· = htmlspecialchars($account, ENT_QUOTES, 'UTF-8') ?>
= $sign . number_format($amount, 0, ',', ' ') ?> ₽