Files
iistwin/.superpowers/sdd/di2-restyle/task-5-report.md

6.2 KiB
Raw Permalink Blame History

Отчёт task 5 — фиксированные цвета графиков + выбор колонок доходов/расходов

Задача 1. Фиксированные цвета серий графиков

Решение владельца: цвета серий на графиках НЕ должны меняться со скином/темой — они обозначают конкретные данные (категории/контрагенты/классы просрочки). Возвращены исходные палитры DI2 из состояния до рестайла 968010c (источник: git show 968010c^:<файл> и локальная копия оригинального репозитория tmp/Data-Insight2).

Что поменяно (9 файлов)

Файл Что Исходные значения
client-di2/src/pages/income-overview.tsx COLORS (20 шт) + фолбэк серии hex-палитра #2563eb, #e11d48, #16a34a, ...; фолбэк #999
client-di2/src/pages/expenses-overview.tsx COLORS (20 шт) + фолбэк серии та же палитра; фолбэк #999
client-di2/src/pages/calculations.tsx COLORS (income/expense/profit/tax/toPay/cumulative), HIGHLIGHT_COLORS (10 шт) #2563eb/#e11d48/#16a34a/#f59e0b/#8b5cf6/#0d9488; хайлайты #f97316, #8b5cf6, #0d9488, ...
client-di2/src/pages/debt.tsx OVERDUE_COLORS, clsColorMap, линии ДЗ/ПДЗ #22c55e/#3b82f6/#eab308/#f97316/#ef4444/#991b1b; ДЗ #3b82f6, ПДЗ #f87171; фолбэк #94a3b8
client-di2/src/pages/planning.tsx PIE_COLORS (8 hsl), paid/debt, totalDebt/totalOverdue, Cell факт/прогноз, линия net, легенда hsl(142 71% 45%) и т.д.; прогноз — alpha /0.5; net hsl(217 91% 60%); зарплаты hsl(30 95% 55%)
client-di2/src/pages/salary.tsx CHART_COLORS (20 шт) та же hex-палитра
client-di2/src/pages/income-categories.tsx TAG_COLORS (8 шт) #2563eb, #e11d48, #16a34a, #f59e0b, #8b5cf6, #06b6d4, #ea580c, #84cc16
client-di2/src/pages/profitability.tsx income/expense/profit hsl(142, 71%, 45%) / hsl(0, 84%, 60%) / hsl(210, 85%, 55%)
client-di2/src/pages/dashboard.tsx COLORS (5 шт), Доходы/Расходы, billed/paid, линия Долг исходная палитра темы DI2: hsl(210 85% 42%), hsl(195 75% 45%), hsl(225 70% 48%), hsl(180 65% 40%), hsl(240 60% 50%); долг hsl(0 72% 51%)

Особенность dashboard

В оригинальном репозитории DI2 (и в первом коммите порта 23ed1ec) dashboard всегда использовал hsl(var(--chart-1..5)) — отдельной hex-палитры не было. Зафиксированы значения, которые эти токены имели в исходной теме DI2 (tmp/Data-Insight2/client/src/index.css), — цвета те же, но больше не зависят от скина.

Что НЕ тронуто (по правилу задачи)

Цвета текста, осей, сеток (hsl(var(--border))), тултипов, ReferenceLine, фонов и KPI-иконок — остаются семантическими токенами скина. В т.ч. bg-chart-*/text-chart-* в KPI-карточках dashboard и числовых ячейках таблиц.

Задача 2. Выбор видимых колонок в таблицах доходов/расходов

Кода не потребовалось — функционал уже есть в DI2 (пришёл из оригинального репозитория, в проде с внедрения 2026-09-06). Изучен паттерн основного клиента (client/src/components/TaskRegistry.tsx: registry-columns-${formId}, JSON-мапа видимости, merge с дефолтами) — подход DI2 ему соответствует и местами богаче.

Где именно (проверено по коду):

Таблица Кнопка Ключ localStorage Возможности
Список доходов /income/* (income.tsx:262) «Столбцы» справа от фильтров omegaprom_visible_columns чекбоксы, «Все», «По умолчанию», защита последней колонки (income.tsx:149)
Список расходов /expenses/* (expenses.tsx:~260) «Столбцы» omegaprom_expense_visible_columns то же
Обзор доходов, вкладка «Таблица» (income-overview.tsx:934) «Столбцы» omegaprom_income_table_cols + omegaprom_income_table_col_order чекбоксы + drag&drop порядок + синхронизация на сервер (POST /api/table-settings), защита последней колонки (income-overview.tsx:653)
Обзор расходов, вкладка «Таблица» (expenses-overview.tsx:~910) «Столбцы» omegaprom_expense_table_cols + ..._col_order то же

Скрытые колонки не рендерятся (activeColumns = ALL_*_COLUMNS.filter(c => visibleColumns.includes(c.key))), фильтры/сортировка не затронуты.

Рекомендация пользователю: если кнопку «Столбцы» не видно — она в правой части строки фильтров/даты; в обзорах — на вкладках «Дерево» и «Таблица». Если под «нужен выбор колонок» имелось в виду другое (например, другие таблицы: дебиторка/расчёты/зарплаты) — уточнить, там выбора колонок действительно нет.

Проверки

  • npm run check — чисто (оба tsc).
  • npm run build — чисто (main + di2 + server bundle).

Коммиты

  • 134b825 — «DI2: фиксированные цвета серий графиков — не зависят от скина/темы» (9 файлов).
  • Коммит отчёта + push — см. git log.