474 lines
29 KiB
Markdown
474 lines
29 KiB
Markdown
# 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).
|
||
|
||
Текущий активный техдолг по незавершенной миграции dropdown-layer:
|
||
- [plane-src/docs/technical-debts/dropdown-standardization-debt.md](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/docs/technical-debts/dropdown-standardization-debt.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. Внутренний контур
|
||
|
||
Статус:
|
||
- основной эталон по `board + detail-shell + cards + activity + properties`
|
||
|
||
Осталось:
|
||
- дочистить legacy action-menu вне основной карточки и detail-secondary слоёв
|
||
- добить альтернативные view `list / calendar / gantt / spreadsheet`
|
||
- добить group headers, spreadsheet header menus, calendar quick add
|
||
- унифицировать secondary popup в relations, attachments, comments
|
||
|
||
### 2. Внешние контуры
|
||
|
||
Статус:
|
||
- cards и detail-shell близки к канону, но модуль ещё не закрыт полностью
|
||
|
||
Осталось:
|
||
- перевести [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 канон, если там ещё остались legacy-path
|
||
- проверить дополнительное окно информации и related 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
|
||
- отдельный приоритет внутри этого блока:
|
||
- `Analytics overview`
|
||
- `Workspace dashboard / Home`
|
||
- `Drafts`
|
||
- `Profile`
|
||
- `Stickies`
|
||
- `Browse / All issues / Workspace view`
|
||
- `Settings`
|
||
|
||
## Общий список страниц, которые требуют полноценного 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-канон
|