[page-templates] Дизайн узла page-embed: двойная рамка + дублирующиеся кнопки #39
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Дизайн узла page-embed (вставка целой страницы/шаблона) выглядит сыро. По скриншоту видно две проблемы.
1. Двойная рамка
Вокруг эмбеда рисуются две несовпадающие рамки одновременно:
.ProseMirror-selectednode { outline: 2px solid #70cff8 }(apps/client/src/features/editor/styles/core.css:140). Безborder-radius, т.е. прямоугольная..includeWrapborder: 2px solid transparent, которая в состоянии hover/focus/menu-open становится цветной2px solid(apps/client/src/features/editor/components/transclusion/transclusion.module.css:127–146). Со скруглением8px.Когда узел и выделен, и в фокусе/наведении — обе рисуются внахлёст, одна квадратная голубая, другая скруглённая оранжевая, со смещением → выглядит как «битые прерывистые рамки».
Что сделать: оставить ОДНУ рамку выделения. Либо подавить generic
outlineдляpageEmbed/.includeWrap(как уже сделаноoutline: noneдля некоторых случаев в той же module.css, строка ~187), либо унифицировать выделение в один скруглённый стиль, совпадающий с рамкой обёртки. Заодно свести палитру к одному цвету (сейчас голубой #70cff8 vs оранжевый акцент).2. Дублирующиеся кнопки
В тулбаре справа сверху и в бейдже-заголовке несколько affordance-ов, часть делает одно и то же:
page-embed-view.tsx:123–158): Refresh (IconRefresh), «Open source page» (IconExternalLink, ведёт на исходную страницу), ⋯-меню (Delete).page-embed-view.tsx:173–185): иконкаIconArrowsMaximize(визуально читается как «развернуть/fullscreen») + заголовок как ссылка, которая тоже ведёт на исходную страницу.Итог: «открыть в новом окне» (external link) и «развернуть» (заголовок-ссылка/иконка maximize) ведут в одно и то же место — на исходную страницу. Лишнее.
Что сделать: оставить один понятный способ открыть источник. Предложение: заголовок-ссылка ведёт на источник (это естественно), убрать дублирующую кнопку external-link ИЛИ убрать ссылочность заголовка и оставить кнопку. Иконку
IconArrowsMaximizeне использовать как fallback бейджа, если она читается как кнопка «развернуть», — взять нейтральную иконку «встроенной страницы».Критерии приёмки
Файлы
apps/client/src/features/editor/components/page-embed/page-embed-view.tsx(тулбар + бейдж)apps/client/src/features/editor/components/transclusion/transclusion.module.css(.includeWrap,.includeControls,.transclusionBadge)apps/client/src/features/editor/styles/core.css(.ProseMirror-selectednodeoutline)