АРХ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: экранный аудит и backlog миграции UI-канона

This commit is contained in:
DCCONSTRUCTIONS 2026-04-22 12:15:05 +03:00
parent 9ab555f6cb
commit 54a648bb91
2 changed files with 465 additions and 0 deletions

View File

@ -2,6 +2,10 @@
Документ фиксирует канон интерфейса NODE.DC, чтобы не обсуждать одни и те же правила повторно.
Связанные документы:
- архитектурный регламент dropdown-окон: [HDROPDOWN-CANON.md](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/HDROPDOWN-CANON.md)
- экранный аудит и backlog миграции: [HUI-CANON-AUDIT.md](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/HUI-CANON-AUDIT.md)
## Источник цветов
- Основной runtime-конфиг цветов: [design.config.json](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/design.config.json)
- Рабочая web-копия: [plane-src/apps/web/design.config.json](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/design.config.json)

461
HUI-CANON-AUDIT.md Normal file
View File

@ -0,0 +1,461 @@
# HUI CANON AUDIT
Документ фиксирует аудит экранов и dropdown-механик NODE.DC после внедрения
[HDESIGN-CODE.md](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/HDESIGN-CODE.md)
и
[HDROPDOWN-CANON.md](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/HDROPDOWN-CANON.md).
Цель:
- увидеть все экраны проекта в одном месте
- отделить каноничные shared-dropdown от legacy-механик
- понять, какие страницы уже близки к канону, а какие ещё живут на старом слое
- перейти от точечных UI-фиксов к этапной стандартизации
## Текущий канон
### Каноничные dropdown-stack
- `Selection dropdown`
- `StateDropdown`
- `PriorityDropdown`
- `DateDropdown`
- `MemberDropdown`
- `Project / Module breadcrumb dropdown`
- `Action dropdown`
- [ActionDropdown](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/packages/ui/src/dropdowns/action-dropdown.tsx:109)
- `Context menu`
- допускается как secondary/right-click слой
- не должен быть основным видимым dropdown у кнопки `...`
### Legacy-механика
Основной legacy-слой, который ещё не вычищен:
- [CustomMenu](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/packages/ui/src/dropdowns/custom-menu.tsx:61)
Это не означает, что `CustomMenu` нужно удалить целиком прямо сейчас.
Это означает:
- новые action dropdown не должны строиться на нём по инерции
- все пользовательски важные action-menu надо постепенно переводить на shared `ActionDropdown`
- `CustomMenu` должен оставаться только там, где его subtree/submenu-поведение ещё реально нужно и пока не мигрировано
## Карта экранов проекта
Ниже список page-route экранов под проектным shell:
- `Главная проекта`
- [page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/page.tsx)
- `Активные циклы`
- [active-cycles/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/active-cycles/page.tsx)
- `Аналитика`
- [analytics/[tabId]/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx)
- `Browse`
- [browse/[workItem]/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/page.tsx)
- `Черновики`
- [drafts/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/drafts/page.tsx)
- `Уведомления`
- [notifications/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/notifications/page.tsx)
- `Профиль / активность / профайл-вью`
- [profile/[userId]/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx)
- [profile/[userId]/activity/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/activity/page.tsx)
- [profile/[userId]/[profileViewId]/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/[profileViewId]/page.tsx)
- `Стикеры`
- [stickies/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/stickies/page.tsx)
- `Workspace views`
- [workspace-views/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/page.tsx)
- [workspace-views/[globalViewId]/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/[globalViewId]/page.tsx)
- `Список проектов`
- [projects/(list)/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(list)/page.tsx)
- `Архивы проекта`
- [projects/(detail)/archives/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/archives/page.tsx)
- `Внутренний контур / Issues`
- [issues/(list)/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/page.tsx)
- [issues/(detail)/[issueId]/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(detail)/[issueId]/page.tsx)
- `Внешние контуры`
- [external-contours/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/external-contours/page.tsx)
- `Предложения / Intake`
- [intake/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/intake/page.tsx)
- `Модули`
- [modules/(list)/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/page.tsx)
- [modules/(detail)/[moduleId]/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/[moduleId]/page.tsx)
- `Циклы`
- [cycles/(list)/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx)
- [cycles/(detail)/[cycleId]/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/[cycleId]/page.tsx)
- `Виды / Views`
- [views/(list)/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx)
- [views/(detail)/[viewId]/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/page.tsx)
- `Страницы / Pages`
- [pages/(list)/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx)
- [pages/(detail)/[pageId]/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx)
- `Архивы issues`
- [archives/issues/(list)/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/page.tsx)
- [archives/issues/(detail)/[archivedIssueId]/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/[archivedIssueId]/page.tsx)
- `Архивы модулей`
- [archives/modules/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/modules/page.tsx)
- `Архивы циклов`
- [archives/cycles/page.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/page.tsx)
## Статус по модулям относительно дизайн-канона
### Ближе всего к канону
- `Внутренний контур / Issues`
- это основной эталон для карточки, detail-pane, activity, properties и стандартных selection dropdown
- но и здесь ещё остались legacy action-menu и точечные старые `CustomMenu` вокруг вторичных UI-мест
- `Хлебные крошки project/module`
- логика уже унифицирована и приведена к кликабельному dropdown-поведению
### Частично приведены, но ещё не завершены
- `Внешние контуры`
- основная верстка уже двинута к glass-канону
- но action-menu и часть secondary popup ещё на legacy-слое
- `Предложения / Intake`
- detail-pane, список, фильтры и modal уже сильно приближены к канону
- но внутри intake ещё остались локальные `CustomMenu` участки и sorting/menu-узлы
- `Workspace / Sidebar / Project shell`
- часть shell уже приведена, но sidebar-quick-actions и project/workspace action-menu ещё смешивают старый и новый подход
### Основной legacy-кластер
- `Модули`
- `Циклы`
- `Views`
- `Pages`
- `Profile`
- `Archives`
- часть `Calendar / Spreadsheet / Relations / Attachments / Comments`
Именно здесь сейчас больше всего старых `CustomMenu` и action-wrapper-ов.
## Оставшиеся legacy dropdown-механики
Ниже список мест, которые ещё не переведены на канон без локальных menu-wrapper решений.
### P0. Главные action-menu рабочих сущностей
Это самые важные экраны, потому что они формируют основной UX проекта.
- `Issues layout common actions`
- [layout-quick-actions.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/layout-quick-actions.tsx:1)
- `Modules quick actions`
- [modules/quick-actions.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/modules/quick-actions.tsx:1)
- `Cycles quick actions`
- [cycles/quick-actions.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/cycles/quick-actions.tsx:1)
- `Views quick actions`
- [views/quick-actions.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/views/quick-actions.tsx:1)
- `Pages actions`
- [pages/dropdowns/actions.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/pages/dropdowns/actions.tsx:1)
- `External contours actions menu`
- [actions-menu.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/ce/components/projects/external-contours/actions-menu.tsx:1)
Почему это legacy:
- все эти места по сути решают одну задачу: показать список действий по кнопке `...`
- часть из них ещё сидит на `CustomMenu`
- часть визуально близка к канону, но не использует единый `ActionDropdown`
Что нужно:
- перевести их на `ActionDropdown`
- оставить `ContextMenu` только как secondary/right-click слой, если он реально нужен
### P1. Action-menu внутри detail / relation / attachment / comments
- `Comments quick actions`
- [comments/quick-actions.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/comments/quick-actions.tsx:1)
- `Issue detail parent`
- [issue-detail/parent/root.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/issue-detail/parent/root.tsx:1)
- [issue-detail/parent/sibling-item.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/issue-detail/parent/sibling-item.tsx:1)
- `Issue detail links`
- [issue-detail/links/link-item.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/issue-detail/links/link-item.tsx:1)
- `Relations list item`
- [relations/issue-list-item.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/relations/issue-list-item.tsx:1)
- `Attachments`
- [attachment-list-item.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/attachment/attachment-list-item.tsx:1)
- `Sub-issues / relations widgets`
- [sub-issues/quick-action-button.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx:1)
- [relations/quick-action-button.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx:1)
- [sub-issues/issues-list/list-item.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-item.tsx:1)
Почему это важно:
- это вторичный, но очень частый слой интерфейса
- пользователь должен видеть те же surface, spacing и placement, что и на карточках задач
### P1. Legacy menus в list/group header и табличных видах
- `Kanban group-by card`
- [kanban/headers/group-by-card.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx:1)
- `List group-by card`
- [list/headers/group-by-card.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx:1)
- `Spreadsheet header column`
- [spreadsheet/columns/header-column.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/header-column.tsx:1)
- `Calendar quick add issue actions`
- [calendar/quick-add-issue-actions.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx:1)
Что тут нужно:
- унифицировать action-menu заголовков, фильтров и group controls
- не смешивать `CustomMenu` со старой кнопочной геометрией там, где можно жить на общем action stack
### P1. Legacy sorting/order-by dropdown
- `Project order-by`
- [project/dropdowns/order-by.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/project/dropdowns/order-by.tsx:1)
- `Modules order-by`
- [modules/dropdowns/order-by.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/modules/dropdowns/order-by.tsx:1)
- `Views order-by`
- [views/filters/order-by.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/views/filters/order-by.tsx:1)
- `Pages order-by`
- [pages/list/order-by.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/pages/list/order-by.tsx:1)
- `Inbox order-by`
- [inbox-filter/sorting/order-by.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx:1)
Это не quick-actions, но это тоже dropdown-узлы, которые стоит перевести на единый selection/sorting-канон, а не держать на разрозненном `CustomMenu`.
### P2. Mobile header legacy menus
- `Profile mobile header`
- [profile/[userId]/mobile-header.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/mobile-header.tsx:1)
- `Modules mobile headers`
- [modules/(detail)/mobile-header.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/mobile-header.tsx:1)
- [modules/(list)/mobile-header.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/mobile-header.tsx:1)
- `Cycles mobile headers`
- [cycles/(detail)/mobile-header.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/mobile-header.tsx:1)
- [cycles/(list)/mobile-header.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/mobile-header.tsx:1)
Это второй этап после desktop surface.
### P2. Workspace / navigation / utility legacy menus
- `Project actions menu`
- [project-actions-menu.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/navigation/project-actions-menu.tsx:1)
- `Workspace sidebar project item`
- [projects-list-item.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/workspace/sidebar/projects-list-item.tsx:1)
- `Workspace views quick actions`
- [workspace/views/quick-action.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/workspace/views/quick-action.tsx:1)
- [workspace/views/default-view-quick-action.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/workspace/views/default-view-quick-action.tsx:1)
- `Workspace / user / help / favorites`
- [workspace-menu-header.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/workspace/sidebar/workspace-menu-header.tsx:1)
- [user-menu-root.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/workspace/sidebar/user-menu-root.tsx:1)
- [favorite-item-quick-action.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx:1)
Это уже не P0, но на общем ощущении системы они сказываются сильно.
## Экраны, которые ещё нужно перевести на канон по дизайну
Ниже список экранов не только по dropdown, а вообще по UI-канону.
### 1. Внутренний контур
Статус:
- основной эталон
Осталось:
- дочистить legacy action-menu вне основной карточки
- добить group headers, spreadsheet header menus, calendar quick add
- унифицировать secondary popup в relations, attachments, comments
### 2. Внешние контуры
Статус:
- частично приведён
Осталось:
- перевести [actions-menu.tsx](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/ce/components/projects/external-contours/actions-menu.tsx:1) на тот же action-dropdown канон
- проверить все top-toolbar и detail-surface ещё раз по glass/radius/button rules
- сравнить все detail-row и popup с эталоном `Внутреннего контура`
### 3. Предложения / Intake
Статус:
- сильно продвинуты к канону
Осталось:
- добить все `CustomMenu` в create modal и sorting
- полностью убрать остатки старого menu-wrapper поведения
- пройти весь flow `список -> деталь -> создание -> фильтры -> сортировка` ещё раз на единый shell
### 4. Модули
Статус:
- legacy
Осталось:
- list/detail headers
- quick actions
- mobile headers
- order-by/filter dropdown
- сравнение карточек и action-bars с эталоном `Внутреннего контура`
### 5. Циклы
Статус:
- legacy
Осталось:
- quick actions
- list/detail/mobile headers
- archived cycles header / controls
- приведение всех dropdown к канону `selection/action`
### 6. Views
Статус:
- legacy
Осталось:
- quick actions
- order-by/filters
- view list header
- surface/spacing/popup alignment
### 7. Pages
Статус:
- legacy
Осталось:
- page list order-by
- page actions dropdown
- editor toolbar popup
- detail/list header alignment
### 8. Archives
Статус:
- partial legacy
Осталось:
- архивы issues/modules/cycles привести к тем же header, filter, action-menu принципам
- убрать разные локальные mobile/header menu-path
### 9. Workspace shell / sidebar / navigation
Статус:
- partial
Осталось:
- project/workspace/user/favorites menus
- единая логика quick actions в sidebar
- единый visual shell popup на всём workspace слое
### 10. Profile / Notifications / Active cycles / Analytics / Drafts / Browse / Stickies
Статус:
- требуется отдельный дизайн-аудит
Это не значит, что там всё сломано.
Это значит:
- эти экраны пока не проходили такой же системный канонический прогон, как `Внутренний контур`, `Внешние контуры` и `Intake`
- их надо отдельно сверить по dropdown, button, popup, glass shell, toolbar и spacing
## Общий список страниц, которые требуют полноценного UI-pass
Порядок рекомендован по приоритету:
1. `Modules list/detail`
2. `Cycles list/detail`
3. `Views list/detail`
4. `Pages list/detail`
5. `Archives issues/modules/cycles`
6. `Workspace sidebar / project shell / navigation`
7. `Profile`
8. `Stickies`
9. `Analytics`
10. `Drafts`
11. `Browse`
12. `Notifications`
13. `Active cycles`
## Что именно значит "подбить к канону"
Для каждого экрана нужно проверять не только dropdown.
Чек-лист:
- breadcrumb соответствует канону project/module dropdown
- toolbar сидит на общем вертикальном ритме
- filled CTA используют акцент + тёмный текст
- secondary buttons без лишних outline
- popup и modal имеют matte black glass shell
- selection dropdown и action dropdown не смешаны по механике
- `...` и соседние controls имеют совместимую геометрию
- detail-pane и cards используют shared shell, а не локальную внешнюю заплатку
- list item spacing и card spacing не выбиваются из эталона
- create modal / edit modal используют shared modal-input and modal-editor canon
- mobile header не живёт своей отдельной стилистикой без причины
## Предлагаемая этапность миграции
### Этап 1. Action-menu миграция P0
Перевести на `ActionDropdown`:
- issues layout actions
- modules quick actions
- cycles quick actions
- views quick actions
- pages actions
- external contours actions menu
Результат:
- основной каркас action-menu во всех сущностях будет стандартизирован
### Этап 2. Detail widgets и row actions
Перевести:
- comments
- relations
- links
- attachments
- sub-issues widgets
Результат:
- вторичный слой меню перестанет выбиваться из канона
### Этап 3. Sorting / order-by / filter popup
Перевести:
- project/modules/views/pages/inbox sorting
- group headers
- spreadsheet/calendar header menus
Результат:
- selection/sorting popup тоже уйдут с разрозненного legacy слоя
### Этап 4. Modules / Cycles / Views / Pages design pass
Сделать полный UI-pass:
- list
- detail
- mobile headers
- empty states
- cards
- top-toolbar
- modal
### Этап 5. Workspace / profile / utility screens
Пройти:
- workspace sidebar
- user/project actions
- profile
- stickies
- analytics
- drafts
- browse
- notifications
## Главный вывод
Сейчас проект уже не находится в состоянии "везде хаос".
Уже есть рабочий канон:
- breadcrumbs
- action dropdown
- selection dropdown
- `Внутренний контур` как основной визуальный эталон
- `Внешние контуры` и `Intake` как частично приведённые модули
Но legacy слой ещё большой.
Ключевая проблема не в одном баге dropdown.
Ключевая проблема в том, что часть экранов уже живёт на shared-каноне, а часть всё ещё использует старые локальные `CustomMenu` и menu-wrapper решения.
Значит, следующая правильная работа:
- не лечить случайные оффсеты по одному
- а поэтапно переводить оставшиеся экраны на общий dropdown и UI-канон