potyk.io
🔒

potyk-fin (/fin/)

Добавить трату

  • Табы в 1 строку: Одна / Мульти

Режим Одна

  • Дата = последний незакрытый день

Режим Мульти

  • Как Одна, но можно добавлять несколько трат
  • Выводим табличку с колонками Дата / Сумма / Категория / Описание / Необяз. / -
  • - колонка - это кнопка удаления строки
  • Инпуты работают также как и в Одна, за исключением Сумма
  • В Сумма можно писать как в калькуляторе выражения типа 1+2 и через 1 сек. операция выполнится
  • После таблички кнопки + - добавляет строку, Добавить траты - сабмитит созданные траты + сброс формы

Лента

Закрытие дня

  • Когда закрываем день надо делать анимацию сворачивания, противоположную анимации разворачивания табл с тратами у
    закрытого дня, но страницу при этом не обновлять, типа htmx но без замены элемента

Слоп

Учёт трат, дней и сейвов: быстро занести расход и понять, куда ушли деньги за период. В глобальном меню сайта отдельного
пункта нет — раздел доступен из меню potyk-money (секция «potyk-money», пункт «Учёт» с замочком). URL прежний
(/fin/); в шапке — бренд potyk-money со ссылкой на /money/. В сайдбаре — то же меню крыла, что на /money/.

Сценарии

Статистика за период

На главной блок «Статистика» сворачивается и раскрывается так же, как «Добавить трату» и соседние панели. Внутри — суммы
по категориям за выбранные даты «С» / «По».

По умолчанию (без дат в адресе) период — текущий календарный месяц: с 1-го числа по сегодня. Можно выбрать
другой диапазон и нажать «Показать». Поля «С» и «По» читаются отдельно, не наезжают друг на друга.

Кнопки месяцев — второй строкой под датами, компактные, со стрелками. «← Август» ставит период на полный
предыдущий календарный месяц
относительно месяца в «С» и сразу показывает статистику. Если смотришь прошлый месяц, а
сейчас уже следующий (август при текущем сентябре) — рядом «Сентябрь →», чтобы так же быстро вернуться вперёд (для
текущего месяца — с 1-го по сегодня).

Сначала три суммы за период: «Итого» — все траты, «Сейвы» — все сейвы, «Расход и сейвы» — траты плюс сейвы. У «Итого» и
«Сейвы» в скобках — доля от «Расход и сейвы». Ниже — разбивка по категориям, отсортированная по сумме (больше сверху). У
каждой категории — сколько операций за период, средняя сумма операции и в скобках доля от «Итого».

Одинаковые категории без учёта регистра — одна строка (например «Маш» и «маш»). Название показывается с большой
буквы
.

Наглядность сумм

У каждой категории — фоновая полоска на всю высоту строки: ширина равна доле от «Итого» (как процент рядом с суммой).
Текст (название, число операций, сумма) поверх полоски. Крупные категории — длинная полоска, мелкие — короткая.

Операции внутри категории

Зачем: из сводки сразу увидеть, из чего сложилась сумма, не листая ленту дней.

Что делает пользователь: нажимает на категорию.

Ожидаемый результат:

  1. Строка раскрывается.
  2. Виден список операций этой категории за выбранный период: дата, сумма, комментарий (описание).
  3. Повторное нажатие сворачивает список.

Если за период трат нет — вместо таблицы сообщение, что трат нет. Если при этом есть сейвы — под сообщением всё равно
видны суммы «Сейвы» и «Расход и сейвы».

Добавить трату

В панели «Добавить трату» два режима: Одна и Мульти (переключение табами). При изменении существующей траты
табов нет — только одна форма.

Дата по умолчанию — первый день после последнего закрытого (ещё не закрытый «хвост»). Если закрытых дней нет —
вчера. Не ставится дата позже сегодня.

Категория сохраняется в том же виде, что и в статистике: с большой буквы, без дубля из‑за регистра.

В выпадающем списке категории отсортированы по частоте: чаще всего использованные — выше (при равной частоте — по
алфавиту).

Рядом с суммой можно открыть калькулятор (🧮): ввести выражение вроде 123+456 и нажать = — результат попадает в поле
суммы. На телефоне у поля формулы обычная клавиатура (с + и -), а не только цифровая.

После успешного добавления траты фокус снова на поле «Сумма», чтобы сразу вводить следующую.

Мульти

Зачем: занести несколько трат подряд, не сабмитя каждую отдельно.

Что делает пользователь: переключается на таб «Мульти», заполняет строки (те же поля, что в обычной форме, в
компактном виде), при необходимости добавляет или удаляет строки, нажимает «Добавить траты».

В поле «Сумма» можно сразу писать выражение вроде 123+456 — отдельного калькулятора нет. Через секунду без ввода (или
при уходе из поля) выражение заменяется на результат.

Ожидаемый результат:

  1. Все заполненные строки сохраняются сразу.
  2. В ленте и статистике появляются все новые траты.
  3. Форма мульти сбрасывается к одной пустой строке; фокус снова на сумме.
  4. Последнюю оставшуюся строку удалить нельзя — всегда есть хотя бы одна.
  5. Кнопка «+» рядом с «Добавить траты» добавляет ещё одну строку.

Зафиксировать сейв

Рядом с суммой — тот же калькулятор (🧮), что при добавлении траты, и кнопка 1к: округляет сумму до ближайшей тысячи
(как при подстановке остатка из ленты).

Дата по умолчанию — вчера.

Выбор остатков

  • В форме Зафиксировать сейв есть кнопка Выбор остатков
  • При нажатии на Выбор остатков отображаем рядом с ней ✔️/❌ и включается режим выбора остатков
    • Отображать на 1 строке, чтобы получилось вот так: [Выбор остатков] [✔️] [❌]
  • В режиме выбора остатков в ленте можно нажимать на остатки, выбранные подсвечиваются бордером
  • При нажатии на ✔️ суммируем выбранные остатки и записываем в Сумма формы Зафиксировать сейв, затем скрываем кнопки
    ✔️❌
  • При нажатии на ❌ просто скрываем кнопки ✔️❌

Изменить сейв

Зачем: поправить дату или сумму, если сейв записали не на тот день.

Что делает пользователь: в ленте у открытого дня в списке сейвов нажимает «изменить».

Ожидаемый результат:

  1. Открывается та же панель, что для нового сейва, с уже заполненными полями.
  2. После сохранения сейв отображается в ленте на выбранной дате; суммы в статистике пересчитываются.
  3. У закрытого дня кнопки изменения и удаления сейва нет (как у трат).

Изменить трату

Зачем: поправить сумму, категорию, дату или описание без удаления и повторного ввода.

Что делает пользователь: в ленте у открытого дня нажимает «изменить» у нужной траты.

Ожидаемый результат:

  1. Открывается та же панель, что для добавления, с уже заполненными полями этой траты.
  2. После сохранения трата обновляется в ленте и в статистике.
  3. У закрытого дня кнопки изменения нет (как и удаления).