АРХ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: экранный аудит и backlog миграции UI-канона
This commit is contained in:
parent
9ab555f6cb
commit
54a648bb91
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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