Browse Source

docs: update LLM_CONTEXT v4.4 and SPRINTS with version snapshots system

- LLM_CONTEXT: add section 10 "Система версий блоков" (DB models, API
  endpoints, components, page architecture)
- LLM_CONTEXT: bump version to 4.4, add changelog entry
- SPRINTS: mark snapshot tasks as done in Sprint 5.5

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
main
AR 15 M4 2 months ago
parent
commit
1b64ccaa0f
  1. 51
      docs/LLM_CONTEXT.md
  2. 9
      docs/SPRINTS.md

51
docs/LLM_CONTEXT.md

@ -2,8 +2,8 @@
## Клиника ухо, горло, нос им. проф. Е.Н.Оленевой
**Версия контекста:** 4.3
**Дата обновления:** 2026-03-24
**Версия контекста:** 4.4
**Дата обновления:** 2026-03-25
**Актуальный спринт:** Sprint 5.5
**Сайт клиники:** https://oclinica.ru
**Брендбук (локально):** http://localhost:3001
@ -416,7 +416,47 @@ CSS-классы в `globals.css`. Компонент: `@/components/ui/Button`
---
## 10. Технический стек проекта
## 10. Система версий блоков
Каждый блок поддерживает версионирование с HTML-снимками.
### Модель данных
**Block** — текущее состояние блока:
- `path` (unique), `version`, `isInPreview`, `changelog` (JSON), `name`
**BlockSnapshot** — архивный снимок версии:
- `blockPath`, `version` (unique пара), `html` (Text), `css` (Text), `changelog` (JSON)
### API эндпоинты
| Метод | URL | Назначение |
|-------|-----|------------|
| GET | `/blocks` | Все блоки |
| GET | `/blocks/by-path?path={path}` | Блок по пути (auto-create) |
| PATCH | `/blocks/by-path?path={path}` | Обновить version/isInPreview/changelog |
| POST | `/blocks/snapshots?path={path}` | Создать/обновить HTML-снимок версии |
| GET | `/blocks/snapshots?path={path}` | Список снимков (id, version, createdAt) |
| GET | `/blocks/snapshots/:id` | Полный снимок (html + css) |
### Компоненты
- **BlockMetaBar** (`components/ui/BlockMetaBar.tsx`) — версия dropdown, toggle «В превью», кнопка «Сохранить версию»
- Prop `onSnapshotSelect` — callback при выборе архивной версии
- При сохранении захватывает `innerHTML` из `[data-block-capture="{path}"]` + CSS правила с `bb-` префиксом
- **BlockChangelog** (`components/ui/BlockChangelog.tsx`) — рендер истории версий
### Архитектура страниц блоков
Каждая страница блока разделена на:
- `page.tsx` — Server Component (экспортирует `metadata`)
- `XxxPageClient.tsx` — Client Component (state для snapshot, `data-block-capture` для захвата)
При просмотре архивной версии живой компонент заменяется на `dangerouslySetInnerHTML` со снимком.
---
## 11. Технический стек проекта
| Слой | Технология | Версия |
|------|-----------|--------|
@ -431,7 +471,7 @@ CSS-классы в `globals.css`. Компонент: `@/components/ui/Button`
---
## 11. История изменений контекста
## 12. История изменений контекста
| Версия | Дата | Что добавлено |
|--------|------|---------------|
@ -443,10 +483,11 @@ CSS-классы в `globals.css`. Компонент: `@/components/ui/Button`
| 4.1 | 2026-03-22 | Sprint 4 done: карточки (DoctorCard/NewsCard/ReviewCard/PriceCard/ServiceCard), бейджи/теги/алерты |
| 4.2 | 2026-03-23 | Sprint 5: блоки Hero v1.1, Doctors v1.1 |
| 4.3 | 2026-03-24 | Sprint 5.5: исправлены CSS-стили блоков по реальному сайту (H1 #cb9768 36px, H2 #000 36px, фоны форм #d4f6f8, фон новостей #f2fee6, CTA-кнопка pill) |
| 4.4 | 2026-03-25 | Sprint 5.5: кнопка «Сохранить версию» (snapshot HTML+CSS в PostgreSQL), dropdown переключения между версиями блоков, навигация v1.3 с подменю, блоки обновлены из предыдущей сессии |
---
## 12. Что обновлять в этом файле
## 13. Что обновлять в этом файле
При каждом спринте добавляй:
- Новые компоненты и их спецификации (цвета, размеры, состояния)

9
docs/SPRINTS.md

@ -313,7 +313,14 @@
- [x] FE: Toggle «В превью» через localStorage (fallback при API офлайн)
- [x] BE: BlockMetaBar + PreviewClient подключены к NestJS API `/blocks`
- [x] BE: Метаданные блоков (version, changelog, isInPreview) в PostgreSQL
- [ ] Docs: Добавить `/pages/preview` v1.0 в LLM_CONTEXT.md
- [x] Docs: Добавить `/pages/preview` v1.0 в LLM_CONTEXT.md
- [x] FE: Кнопка «Сохранить версию» — фиксация version + changelog из кода в БД
- [x] BE: Модель BlockSnapshot (html, css, version, changelog) + миграция
- [x] BE: API эндпоинты: POST/GET `/blocks/snapshots`, GET `/blocks/snapshots/:id`
- [x] FE: BlockMetaBar — dropdown переключения между сохранёнными версиями
- [x] FE: HTML-снимок блока при сохранении версии (innerHTML + CSS capture)
- [x] FE: Все 8 страниц блоков — split на Server/Client Components для snapshot support
- [x] FE: Навигация v1.3 — подменю с hover-dropdown, navData.ts, обновлённые стили блоков
### Зависимости
- Зависит от: Sprint 5 (блоки hero и doctors уже готовы — ✅)

Loading…
Cancel
Save