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>
This commit is contained in:
+46
-5
@@ -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. Что обновлять в этом файле
|
||||
|
||||
При каждом спринте добавляй:
|
||||
- Новые компоненты и их спецификации (цвета, размеры, состояния)
|
||||
|
||||
+8
-1
@@ -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 уже готовы — ✅)
|
||||
|
||||
Reference in New Issue
Block a user