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).
Ссылки