Крупное обновление: подключение к Zenmoney API, сквозная лента «Операции», локальные правки операций (overlay-слой, не уходит в облако - в скором времени появится синхронизация изменений в сторону облака (push)), бэкапы по расписанию и обновлённый брендовый UI.
🔗 Онлайн-синхронизация с Zenmoney API
- Альтернатива CSV: вставил токен — приложение само подтягивает данные через
POST /v8/diff/ - Read-only гарантия: тело запроса никогда не содержит секций мутации (
transaction,account,tag). Правки локально — облако не тронуто - Токен только в IndexedDB браузера, не попадает в git, не зашивается в standalone-бандл
- Инкрементальный синк через
serverTimestamp+ локальный entity-cache - Авто-синк каждые 30 минут (опциональный переключатель)
🎯 Авто-калибровка от API
- Стартовые остатки счетов берутся из
account.balanceна каждом синке - Ручная калибровка в режиме API скрывается — net worth корректен из коробки
🎨 Иконки и цвета категорий из API
- Mapping ~165 Zenmoney icon IDs → emoji (взят из проекта Zerro, MIT)
- Цвет приходит ARGB-int, декодируется в CSS rgba
- Рядом с названием категории — цветной значок с эмодзи на всех страницах
📋 Новая страница «Операции» (/transactions)
- Сквозная лента всех операций под глобальными фильтрами
- KPI-сводка, группировка по дням («Сегодня», «Вчера», полная дата)
- Сортировка по дате/сумме, поиск, CSV-экспорт
- Lazy-скролл через IntersectionObserver — плавно на 10k+ операциях
- Фиксированные колонки (CSS-Grid), Комментарий — самый широкий, длинный текст усекается многоточием
✏️ Локальные правки операций
- Двойной клик по строке → модалка редактирования
- Категория и подкатегория с автодополнением (фильтр по типу операции)
- Получатель / комментарий / сумма / валюта / счёт / дата
- Правки — overlay-слой поверх сырых данных, синхронизация с API их не затирает
- Кнопка «Сбросить правку» — мгновенный возврат к оригиналу
- Изменённые строки помечены иконкой ✏️
💾 Бэкапы по расписанию
- Авто-экспорт всей базы в JSON: день / неделя / месяц или вручную
- Включает транзакции, бюджеты, цели, калибровку, виды, аннотации, флаги, правила и локальные правки
🎨 Брендовый UI и навигация
- Горизонтальное лого в шапке
- Иконки шестерёнки (Настройки) и знака вопроса (Справка) справа
- Компактный pill-toggle светлой/тёмной темы
- Стабильный gutter скроллбара — хедер больше не «прыгает» между страницами
- «Операции» — в основном меню; Cash-flow → в «Ещё»
- Группировка похожих получателей и компакт-режим импорта CSV
Установка
Standalone (1 файл, 333 KB): скачайте DzenAnalytics-v0.5.0-standalone.zip, распакуйте, дважды кликните по DzenAnalytics.html. Работает в любом современном браузере на Windows / macOS / Linux.
Из исходников:
```bash
git clone https://github.com/DEADover/DzenAnalytics.git
cd DzenAnalytics
npm install
npm run dev
```
Откройте http://127.0.0.1:3030/.
Полный changelog
Все 35 коммитов с v0.2.0 → v0.5.0: v0.2.0...v0.5.0