Перейти к содержимому

Демо-режим

Демо-режим показывает статическую сборку Remnawave Minishop с моковыми данными. Он нужен для документации и предпросмотра интерфейса: Mini App, пользовательские сценарии и админка открываются в браузере без backend, базы данных и внешних API.

Открыть демо

При сборке сайта документации запускается docs-site/scripts/build-demo-runtime.mjs. Скрипт:

  • собирает отдельный frontend-бандл в Vite mode docs-demo;
  • использует entrypoint frontend/src/docsDemoEntry.ts, где подключены моковые данные и mock API;
  • дополнительно собирает обычный admin-бандл, чтобы админка работала внутри демо;
  • копирует JS/CSS, темы, default-brand ассеты, локали и конфиг гайдов подключения в docs-site/public/demo/runtime/;
  • генерирует app/index.html, который грузит demo runtime и встроенные переводы;
  • после Astro build материализует публичные страницы /demo/home, /demo/install, /demo/admin/stats и другие основные demo routes как статические index.html;
  • Cloudflare Pages rewrite-правила остаются только для внутреннего /demo/runtime/*, чтобы iframe мог использовать обычный History API без влияния на остальные страницы документации;
  • страницы /demo/home, /demo/install, /demo/admin/* и другие demo routes служат полноэкранной обвязкой с верхней панелью возврата в документацию, а внешняя страница синхронизирует читаемый адрес демо.

Папка docs-site/public/demo/runtime/ не хранится в репозитории. Она создается на build step и попадает в итоговый docs-site/dist/, поэтому Cloudflare Pages публикует демо вместе с остальным docs-сайтом.

Обычная production-сборка Mini App использует frontend/src/main.ts и не импортирует previewMock, mockApi или demo entrypoint. Моковый runtime подключается только в Vite mode docs-demo, который вызывается из сборки документации.