Перейти к содержанию

Сопоставление страниц сервиса и документации

Эта инструкция нужна для поддержки кнопки «Справка» в сервисе.
Кнопка открывает страницу документации на основе текущего URL в личном кабинете.

Где хранится маппинг

Сопоставление на стороне сервиса хранится в файле:

  • shopdelivery-frontend-react_v2-1/src/shared/constants/help-docs.ts

По умолчанию используется путь страницы сервиса:

  • сервис: /services/feedbacks
  • документация: /services/feedbacks/

Если нужен нестандартный путь, используется явный маппинг.

Основная структура явного маппинга:

  • path — route в сервисе (может быть динамическим, например /:id);
  • doc — slug страницы в документации (имя markdown-файла без .md).

Пример:

{ path: `${ROUTES.SERVICES.ROOT}${ROUTES.SERVICES.FEEDBACKS}`, doc: 'work_rev' }

Это значит:

  • страница сервиса /services/feedbacks
  • открывает страницу документации docs/work_rev.md
  • итоговый URL документации: /work_rev/

Когда нужен явный маппинг

Явный маппинг нужен только если:

  • slug документации не совпадает с URL сервиса;
  • для нескольких route нужно открыть один и тот же документ;
  • есть динамические URL (/:id, /:provider/:sessionId) и вы хотите фиксированную статью.

Как добавить новое явное сопоставление

  1. Создайте или обновите страницу документации в docs/*.md.
  2. Возьмите slug из имени файла:
  3. docs/my_new_page.md -> doc: 'my_new_page'
  4. В сервисе добавьте правило в HELP_ROUTE_MAP в файле help-docs.ts.
  5. Если route динамический, укажите шаблон с параметром:
  6. пример: /goods/:id
  7. Проверьте, что при открытии кнопки «Справка» на нужной странице открывается нужный документ.

Правила и рекомендации

  • Для схожих страниц можно использовать один doc slug (например список и карточка).
  • Порядок правил важен: более специфичные маршруты лучше держать выше.
  • Если route не найден в явном маппинге, открывается документация по тому же URL-пути.
  • Следите, чтобы slug в doc точно совпадал с именем файла в docs/.

Быстрая проверка

После изменения маппинга:

  1. Откройте нужную страницу в сервисе.
  2. Нажмите кнопку «Справка».
  3. Убедитесь, что справа открывается корректная статья.
  4. Проверьте, что тема (светлая/темная) синхронизируется с темой сервиса.