'января', 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' => '', ]; $this->setScript('transactions.js'); ?>
Транзакции
Нет операций — нажмите «+», чтобы добавить первую
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] ?? ''; $title = match (true) { $tx->type === 'transfer' => htmlspecialchars(($tx->account_f_title ?? '') . ' → ' . ($tx->account_in_title ?? ''), ENT_QUOTES, 'UTF-8'), default => htmlspecialchars($tx->category_title ?? '—', ENT_QUOTES, 'UTF-8'), }; $account = $tx->type === 'income' ? $tx->account_in_title : $tx->account_f_title; ?>
·
₽