docs(archive): hot/warm/cold month snapshots; HTML /view removed.

Fixes EventHub/EventHubSpec#20

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-17 14:59:34 +03:00
parent f68f39f5f9
commit 14da77fd7e
5 changed files with 145 additions and 15 deletions
+10 -2
View File
@@ -70,7 +70,8 @@ Deep-link на календарь, владельцем которого явл
клике на вкладку; при смене mood — `DEFAULT_LENS_BY_MOOD`. Workspace chrome: (1) селектор;
(2) период + вид Месяц/Неделя/День; (3) owner actions — для commercial только
«+ Новое событие» («Заполнить расписание» — во вкладке Студия). Без flip / CREATOR.
Нет lens на HTML-архиве месяца / не-calendar routes.
Нет lens на не-calendar routes. Прошлый месяц — React-grid (не HTML-iframe); lens overview
на истории — минимум ([ARCHIVE.md](ARCHIVE.md), Front#73).
- **Week view (Front#40):** одна строка day-headers (без дубля заголовков
`WeekDayColumn`); горизонтальный скролл через `.eh-cal-week-scroll` (mobile ~390).
- Контекст виджета: свой календарь (селектор) или browse чужого (после поиска). Чужой `personal`
@@ -226,7 +227,9 @@ cover (`.eh-discover-media--photo`); иначе mood wash + initials (`.eh-disco
(UI: «Отслеживать» в about, страница `/following`; не путать с `/subscription`)
- Просмотр коммерческого чужого календаря по id; при `booking_open=false` — баннер
«Запись временно недоступна», кнопка записи скрыта
- HTML month view владельца: `GET /v1/calendars/:calendar_id/view?month=YYYY-MM` — при переключении виджета на **прошедший месяц** (owner + вид «Месяц») автоматически подменяет клиентский grid серверным HTML (live/архив, задача #15). Текущий и будущие месяцы — React-виджет по `GET …/events`.
- Прошедший месяц/неделя/день: тот же React-виджет по `GET …/events?from&to` (сервер отдаёт
snapshot/файл); бейдж «Архив». HTML `GET …/view` **нет** ([ARCHIVE.md](ARCHIVE.md),
Front#73). Текущий и будущие месяцы — без изменения, только hot.
- Создание / апгрейд `commercial` без **уже active** sub/trial → `402``/subscription`
(trial — явный `start_trial`, не auto при create); после оплаты —
возврат к созданию/редактированию
@@ -398,6 +401,11 @@ legal stubs; позиция по подписке **владельца**; DNS/SP
Лайки/дизлайки отзывов: `PUT/DELETE /v1/reviews/:id/vote`, поле `my_vote` в ответах отзывов (EventHubBack#47).
## 7.1. Фаза 3 — архив (Spec#19 / Spec#20)
Канон: [`ARCHIVE.md`](ARCHIVE.md). Hot = текущий месяц + будущее; warm = 3 мес;
cold = файлы. UI истории — React, не iframe. Код: Back#76, Front#73.
## 8. Источники истины
- Маршруты и поведение: `EventHubBack/src/eventhub_app.erl` + handlers