docs
Some checks failed
Architecture Governance / architecture (push) Has been cancelled

This commit is contained in:
sdarbinyan
2026-07-05 04:23:47 +04:00
parent c901ec1e49
commit 10251f2fc6
24 changed files with 2424 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
# 11. Система навигации
## Назначение
Навигационная система управляет маршрутами витрины, меню и ссылками на основе bootstrap-конфигурации.
## Поведение системы
- Frontend строит маршруты из конфигурации pages и navigation.
- Языковой префикс маршрута задается локализационной конфигурацией.
- Для категорий/товаров используются конфигурируемые route templates.
## Обязательные JSON-свойства
- pages[].route.path
- pages[].id
- navigation.header или navigation.footer (минимум один набор)
## Опциональные свойства
- route.exact
- route.redirectTo
- navigation.icon
- navigation.order
- navigation.visible
## Строгие правила
- Маршруты страниц должны быть уникальны в рамках tenant.
- Ссылка меню должна ссылаться на существующий маршрут или валидный внешний URL.
- Нельзя хардкодить статические tenant-пути в компонентах.
## Пример navigation JSON
```json
{
"navigation": {
"header": [
{ "id": "nav-home", "label": "Главная", "route": "/", "order": 1 },
{ "id": "nav-catalog", "label": "Каталог", "route": "/catalog", "order": 2 }
],
"footer": [
{ "id": "nav-privacy", "label": "Политика", "route": "/privacy-policy", "order": 1 }
]
}
}
```
## Ответственность Frontend
- Строить меню и роутинг из конфигурации.
- Соблюдать локализацию маршрутов.
- Обрабатывать недоступные маршруты через fallback-страницу.
## Ответственность Backend
- Возвращать валидную карту маршрутов/навигации в bootstrap.
- Поддерживать актуальность ссылок на статические страницы.
- Контролировать tenant-специфичность навигации.