АРХ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: экранный аудит и backlog миграции UI-канона
This commit is contained in:
parent
9ab555f6cb
commit
54a648bb91
|
|
@ -2,6 +2,10 @@
|
||||||
|
|
||||||
Документ фиксирует канон интерфейса NODE.DC, чтобы не обсуждать одни и те же правила повторно.
|
Документ фиксирует канон интерфейса 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)
|
- Основной 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)
|
- Рабочая web-копия: [plane-src/apps/web/design.config.json](/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src/apps/web/design.config.json)
|
||||||
|
|
|
||||||
|
|
@ -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-канон
|
||||||
Loading…
Reference in New Issue