[page-templates] Помечать template-страницы значком в дереве #38
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?
Проблема
Страницу можно пометить как шаблон (ПКМ по странице в дереве → «Mark as template»,
POST /api/pages/toggle-template, флагpages.is_template). Но в самом дереве страниц никак не видно, что страница — шаблон: меткаisTemplateесть на узле дерева, но рендерится только пункт меню для переключения, а сам ряд страницы её не показывает.Подтверждение в коде:
isTemplateчитается только вapps/client/src/features/page/tree/components/space-tree-node-menu.tsx(тогл). В рендере ряда —space-tree-row.tsx/space-tree.tsx/doc-tree-row.tsx— поле не используется, значка/бейджа нет.Чего хочется
Визуально помечать template-страницы в дереве, чтобы на глаз отличать их от обычных (значок/бейдж, например
IconTemplateиз@tabler/icons-react, который уже импортируется в меню).Где делать
apps/client/src/features/page/tree/components/space-tree-row.tsx(и/илиdoc-tree-row.tsx) — отрисовать индикатор рядом с заголовком/иконкой узла, когдаnode.isTemplate === true.isTemplateуже приходит на узел дерева (apps/client/src/features/page/tree/types.ts,page.types.ts) и обновляется оптимистично вspace-tree-node-menu.tsxпри тогле — отдельного запроса не нужно, метка появится сразу после переключения.Критерии приёмки
is_template = trueв дереве виден значок/бейдж шаблона; у обычной — нет.Связанное (опционально, можно отдельным ишью)
В пикере вставки page-embed тоже полезно показывать/фильтровать, какие страницы — шаблоны, чтобы их было проще выбирать. Здесь — только метка в дереве.