Newer
Older
gnexus-handbook / 10-platform / ui.md

UI: gnexus-ui-kit

Визуальный стиль и UI-компоненты — централизованно через gnexus-ui-kit.

Правила

  • Новые веб-сервисы подключают gnexus-ui-kit как зависимость (есть Vue-адаптер).
  • Изменения стиля делаются в ui-kit, а не копируются в сервисы.
  • Эстетика: брутализм, тёмная тема, геометрические гротески, JetBrains Mono.

Каркас веб-сервиса

  • Shell (App.vue) = nav + гейт авторизации + контент; каждая страница начинается с GnPageHeader (title/subtitle/kicker; кнопки действий — в шапке страницы, не внутри карточек), модалки/confirm — GnModal/GnConfirmDialog, тосты через useToast.

Каркас навигации

  • Навигация — drawer слева; порядок сверху вниз: основной контент, в самом низу «Настройки» и «Выйти» (отдельным блоком).
  • Пункт навигации = иконка ph- + подпись. Подпись из i18n (см. i18n.md); список пунктов — computed (module-level массив с t() застывает).
  • Подсветка активного пункта следует за роутом, а не за последним кликом: после onSelect → router.push сверять route.path (для вложенных страниц — startsWith).
  • Роуты страниц регистрируются до catch-all (SPA-trap).

Ссылки

  • Репозиторий: https://git.gnexus.space/root/gnexus-ui-kit
  • Документация: docs/index.md в репозитории
  • Референс каркаса: hard-panel App.vue/router.js, gnexus-creds App.vue