This commit is contained in:
DCCONSTRUCTIONS
2026-04-20 17:57:08 +03:00
parent 47d379e77f
commit 5b2a2fc104
5 changed files with 44 additions and 8 deletions
+21
View File
@@ -240,6 +240,9 @@
- empty-state не должен использовать декоративную серую подложку под SVG; media-box прозрачный, SVG выравнивается через `display:flex` и центрирование
- detail-toolbar в карточке запроса использует общий glass-cluster для листания `prev/next`, а сами кнопки внутри кластера — круглые, без квадратной подложки
- `Добавить запрос` в header `Внешних контуров` — это filled accent CTA с тёмным текстом, каноничным радиусом и hover в более светлый тон того же акцента
- global sidebar quick action `Новый рабочий элемент` не показывается на маршруте `external-contours`, потому что этот экран уже имеет собственный primary CTA в header
- active/passive карточки `Внешних контуров` обязаны брать фон только из `--nodedc-card-active-rgb` и `--nodedc-card-passive-rgb`
- header `Внешних контуров` и detail-pane опускаются на единый верхний ритм; нельзя прижимать breadcrumbs, CTA и detail-header к верхней кромке
- popup выбора `Приоритет / Метки` внутри detail view не рендерится inline в property-row; он обязан уходить в `portal`
- секции с dropdown-trigger внутри blur/glass shell обязаны иметь `overflow: visible` и `isolation: isolate`, иначе popup визуально “тонет” внутри блока
- при переключении `Открытые / Закрытые` store обязан очистить stale request list до нового fetch, чтобы пользователь не видел flash старой верстки
@@ -254,6 +257,12 @@
<Button className="nodedc-external-primary-button">...</Button>
```
- Route-aware quick action hide:
```tsx
const pathname = usePathname();
if (pathname?.includes("/external-contours")) return null;
```
- List spacing:
```tsx
<div key={resolvedTab} className="space-y-3">
@@ -271,6 +280,18 @@ const resolvedTab = pendingTab ?? routeTab;
const isTabTransitioning = loader === "init-loading" || pendingTab !== null || routeTab !== currentTab;
```
- Card theme source:
```css
.nodedc-external-card {
background: rgb(var(--nodedc-card-passive-rgb));
}
.nodedc-external-card[data-active="true"] {
background: rgb(var(--nodedc-card-active-rgb));
color: #0b1117;
}
```
- Property popup anchor:
```tsx
<PriorityDropdown