Files
MikrotikManager/docs/ui-design-contract.md
T
DenozordecandCursor 5e0c16e808
Docker images / prepare-release (push) Successful in 8s
Docker images / backend-image (push) Successful in 1m31s
Docker images / frontend-image (push) Successful in 2m11s
Docker images / notify-webhook (push) Skipped
Docker images / updater-image (push) Successful in 40s
Docker images / publish-release (push) Successful in 10s
fix(ui): выровнять confirms и токены под ReUI PRO
Добавить ui-design-contract, AlertDialog вместо hand-roll, CodeExportSheet для preview фильтров, ReUI Badge и gap вместо space-y.

Co-authored-by: Cursor <[email protected]>
2026-09-06 00:12:57 +07:00

2.9 KiB
Raw Blame History

UI Design Contract (MikrotikManager)

Surface: ReUI Frame. Kit: components/reui-kit/.
Иерархия: ReUI PRO > shadcn primitives.
Стек: Next.js 16 App Router + Turbopack + shadcn base-nova + ReUI @reui.

Карта: docs · llms.txt · Get Started · Styling · Blocks · MCP

Surface

Project lock: surface: frame. Ops / list / dashboard / detail / settings — только Frame, не shadcn Card как page shell. Не смешивать Card и Frame на одном ops-экране.

Эталон CRUD: app/(main)/servers.
Оболочка списков: DataPageCard → Frame. Панели: OpsPanel → Frame.

Canonical PRO references

Зона Preview
Shell https://reui.io/preview/base/app-shell-12
KPI https://reui.io/preview/base/stats-12 · https://reui.io/docs/components/base/icon-tile
Lists https://reui.io/preview/base/data-grid-filtering-2
Settings https://reui.io/preview/base/settings-16 · https://reui.io/preview/base/settings-3
Forms / Sheet https://reui.io/preview/base/form-7 · https://reui.io/preview/base/sheet-8
Alert / Badge https://reui.io/docs/components/base/alert · https://reui.io/docs/components/base/badge
Empty https://reui.io/preview/base/empty-state-12

Kit (components/reui-kit/)

Component Role
KpiStatGrid Hybrid KPI (IconTile elevated size-10.5)
CodeExportSheet Экспорт кода (.rsc / .conf) — Sheet + Frame + ScrollArea

Слои:

Слой Путь
shadcn components/ui/
ReUI CLI components/reui/
Kit components/reui-kit/
Domain grids components/data-grids/

Shared App Shell chrome

Токен / зона Значение
--sidebar-width 240px
Header right AppsMenu → SystemMonitorPopover (тема — в NavUser)
Search ⌘K / Ctrl+K only
main gap-4 md:gap-6, px-4 py-4 md:px-6 md:py-5

Spacing & tokens

  • flex + gap-* — не space-y-* / space-x-*
  • Semantic tokens / ReUI Badge variants — не raw bg-emerald-* / hex
  • Max 1 primary CTA на экран

Exceptions (не Frame ops shell)

  • network-map — canvas / topology UX
  • terminal — terminal chrome

Forbidden

  • Card как ops list/dashboard shell
  • Hand-roll data-grid / KPI / code-export при наличии kit
  • Дубль Copy в header + footer export sheet
  • Mixing Card и Frame на одном ops-экране
  • Radix-варианты docs — только Base UI (base-nova)

License

# .env.local (gitignored)
REUI_LICENSE_KEY=

components.json@reui с Authorization: Bearer ${REUI_LICENSE_KEY}.