Today: 7-day balance trend really covers 7 days (-7 days is an 8-day inclusive range)
This commit is contained in:
parent
b379160ff5
commit
c84767fc9e
2 changed files with 19 additions and 0 deletions
16
docs/session-logs/2026-09-21_ui-fixes.md
Normal file
16
docs/session-logs/2026-09-21_ui-fixes.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# Сессия 2026-09-21 (3) - мелкие UI-фиксы
|
||||
|
||||
## #1 balance-trend показывал 8 дней вместо 7 (исправлено)
|
||||
- Симптом: вверху страницы «Среднее за 8 дн.», а график ниже - за 7.
|
||||
- Причина: `getDailyFoodTotals(7)` -> SQL `WHERE date >= date('now','-7 days')` - диапазон
|
||||
включает оба конца (today-7 ... today) = **8 календарных дней**. Balance-trend показывал
|
||||
`balances.length` (сырое число строк) = 8. График строит свой ряд, поэтому у него 7.
|
||||
- Фикс точечный (не трогая общий запрос и график): в balance-trend `food7 = food7.slice(-7)`
|
||||
- берём последние 7 дней. Корневой off-by-one в `getDailyFoodTotals` не трогал, чтобы не
|
||||
сдвинуть график 30/90.
|
||||
|
||||
## #2 сегодняшние повторы не опознались (в работе - нужен телефон)
|
||||
- Пользователь делал интервалы сегодня, «Разбор повторов» их не нашёл.
|
||||
- Диагностика требует сегодняшнего трека (pull с телефона + прогон `detectRepeats`).
|
||||
На момент правки #1 устройство было не подключено - жду телефон, тяну базу, смотрю,
|
||||
почему не сработало (порог/длина/снос/структура).
|
||||
|
|
@ -515,6 +515,9 @@ async function renderToday(container) {
|
|||
DB.getDailyFoodTotals(7),
|
||||
DB.getDailyActivityTotals(7),
|
||||
]);
|
||||
// `date('now','-7 days')` is inclusive of both ends → 8 calendar days. Keep the latest 7
|
||||
// so the "7-day rolling" trend really covers 7 (matches the 7-day chart below).
|
||||
food7 = food7.slice(-7);
|
||||
if (food7.length === 0) return;
|
||||
let foodMap = {};
|
||||
food7.forEach(d => foodMap[d.date] = Math.round(d.kcal ?? 0));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue