diff --git a/plane-src/apps/web/core/components/issues/issue-detail-widgets/structured-content-blocks.tsx b/plane-src/apps/web/core/components/issues/issue-detail-widgets/structured-content-blocks.tsx index 935fc4c..383d0c2 100644 --- a/plane-src/apps/web/core/components/issues/issue-detail-widgets/structured-content-blocks.tsx +++ b/plane-src/apps/web/core/components/issues/issue-detail-widgets/structured-content-blocks.tsx @@ -132,6 +132,21 @@ export const IssueStructuredContentBlocks = observer(function IssueStructuredCon /> +
+ updateBlockDraft(block.id, { title: event.target.value })} + onBlur={() => { + const latestBlock = getLatestBlock(block.id); + if (latestBlock) saveBlocks(draftBlocks.map((item) => (item.id === block.id ? latestBlock : item))); + }} + placeholder="Название чекера" + className="nodedc-modal-input h-11 w-full px-4 text-13 text-primary placeholder:text-placeholder" + disabled={disabled} + /> +
+
{block.items.map((item, index) => (
diff --git a/plane-src/apps/web/core/components/issues/issue-detail-widgets/structured-content.helpers.ts b/plane-src/apps/web/core/components/issues/issue-detail-widgets/structured-content.helpers.ts index c489024..531fce9 100644 --- a/plane-src/apps/web/core/components/issues/issue-detail-widgets/structured-content.helpers.ts +++ b/plane-src/apps/web/core/components/issues/issue-detail-widgets/structured-content.helpers.ts @@ -23,6 +23,7 @@ export type TIssueStructuredCheckerItem = { export type TIssueStructuredCheckerBlock = { id: string; type: "checker"; + title: string; items: TIssueStructuredCheckerItem[]; }; @@ -49,7 +50,7 @@ const normalizeDetailLayout = (value: unknown): TIssueDetailLayout => const sanitizeBlocks = (value: unknown): TIssueStructuredBlock[] => { if (!Array.isArray(value)) return []; - return value.flatMap((block) => { + return value.flatMap((block) => { if (!isRecord(block)) return []; if (block.type === "text") { @@ -82,6 +83,7 @@ const sanitizeBlocks = (value: unknown): TIssueStructuredBlock[] => { { id: typeof block.id === "string" ? block.id : createLocalId(), type: "checker", + title: typeof block.title === "string" ? block.title : "", items, }, ]; @@ -96,6 +98,7 @@ export const createIssueStructuredBlock = (type: "checker" | "text"): TIssueStru return { id: createLocalId(), type: "checker", + title: "", items: [{ id: createLocalId(), text: "", checked: false }], }; }