abdfaa8fcc
1) MODAL OFF-SCREEN (Schema/AOI/Confirm dialogs) DialogContent had `inset-0 w-full h-full` + `min-[880px]:inset-auto` конфликтовал — inset-0 winning по CSS specificity, modal приклеивался к левому краю viewport вместо центра. User screenshot показал Schema edit выходящим за левую границу экрана. Fix: remove inset-0 fullscreen pattern. Use simple centered modal — left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 + w-[95vw] max-h-[95vh] overflow-y-auto. На mobile <880px max-w из size variant даёт ширину 95vw (natural fit). На desktop max-w ограничивает до 440/560/720/880/920px. 2) LOGO 'ORDINIS MDM' С CIRCLE ICON (per redesign prototype) Sidebar logo: 'ORDINIS' → circle icon (accent orbit ring + dot) + 'ORDINIS' bold + 'MDM' mute subtitle (Tektur). SVG inline — нет external dep. Collapsed mode: только circle icon, no text (uses Tektur ORDINIS dropped). 3) TIMELINE BUTTON LABEL InfoPanel button 'Time-travel…' → 'Таймлайн' (per user feedback). Behaviour не меняется — клик открывает picker. Inline таймлайн visualization отложен (большой refactor, нужен product decision). Verified: - Dialog modal центрируется на десктоп - Logo рендерится с svg + text - Tests: 116 pass
Ordinis Admin UI
React 19 + Vite 7 + TanStack Router + TanStack Query + Tailwind v4 + i18next.
Локально
cd ordinis-admin-ui
pnpm install
# .env.local: VITE_API_PROXY=http://localhost:8081 (port-forward read-api)
pnpm dev
Контракт API
GET /api/v1/dictionaries(read-api) — список справочниковGET /api/v1/{dictionaryName}/records(read-api) — записи с локализациейPOST /api/v1/dictionaries(writer) — создание справочника (TODO в UI)POST /api/v1/dictionaries/{name}/records(writer) — создание записи (TODO в UI)
Сборка / Docker
docker build -t repo.nstart.cloud/terravault/ordinis-admin-ui:dev .
docker run --rm -p 8088:80 repo.nstart.cloud/terravault/ordinis-admin-ui:dev
# → http://localhost:8088
В кластере nginx проксирует /api/v1/* в ordinis-read-api (GET) и
ordinis-app (POST/PUT/PATCH/DELETE).