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
|
**Версия контекста:** 4.4
|
||||||
**Дата обновления:** 2026-03-24
|
**Дата обновления:** 2026-03-25
|
||||||
**Актуальный спринт:** Sprint 5.5
|
**Актуальный спринт:** Sprint 5.5
|
||||||
**Сайт клиники:** https://oclinica.ru
|
**Сайт клиники:** https://oclinica.ru
|
||||||
**Брендбук (локально):** http://localhost:3001
|
**Брендбук (локально):** 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.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.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.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] FE: Toggle «В превью» через localStorage (fallback при API офлайн)
|
||||||
- [x] BE: BlockMetaBar + PreviewClient подключены к NestJS API `/blocks`
|
- [x] BE: BlockMetaBar + PreviewClient подключены к NestJS API `/blocks`
|
||||||
- [x] BE: Метаданные блоков (version, changelog, isInPreview) в PostgreSQL
|
- [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 уже готовы — ✅)
|
- Зависит от: Sprint 5 (блоки hero и doctors уже готовы — ✅)
|
||||||
|
|||||||
Reference in New Issue
Block a user