From 20e266c9bbfab7bf077778d065fe68c9c1b61c3d Mon Sep 17 00:00:00 2001 From: "M. Palanikannan" <73993394+Palanikannan1437@users.noreply.github.com> Date: Fri, 23 Jan 2026 13:47:49 +0530 Subject: [PATCH] fix: node view renders (#8559) * fix node renders * fix handlers * fix: duplicate id --- .../src/core/extensions/callout/block.tsx | 3 +- .../src/core/extensions/callout/types.ts | 2 + .../src/core/extensions/callout/utils.ts | 3 +- .../extensions/code/code-block-node-view.tsx | 9 +- .../editor/src/core/extensions/code/types.ts | 9 ++ .../custom-image/components/block.tsx | 82 +++++++++++-------- .../custom-image/components/node-view.tsx | 14 ++-- .../extensions/mentions/mention-node-view.tsx | 2 +- .../extensions/work-item-embed/extension.tsx | 23 ++++-- .../core/extensions/work-item-embed/types.ts | 15 ++++ 10 files changed, 106 insertions(+), 56 deletions(-) create mode 100644 packages/editor/src/core/extensions/code/types.ts create mode 100644 packages/editor/src/core/extensions/work-item-embed/types.ts diff --git a/packages/editor/src/core/extensions/callout/block.tsx b/packages/editor/src/core/extensions/callout/block.tsx index 94fa5a8113..e6a372a4d1 100644 --- a/packages/editor/src/core/extensions/callout/block.tsx +++ b/packages/editor/src/core/extensions/callout/block.tsx @@ -29,13 +29,14 @@ export function CustomCalloutBlock(props: CustomCalloutNodeViewProps) { return ( { if (storedData) { let parsedData: TLogoProps; try { - parsedData = JSON.parse(storedData); + parsedData = JSON.parse(storedData) as TLogoProps; } catch (error) { console.error(`Error parsing stored callout logo, stored value- ${storedData}`, error); localStorage.removeItem("editor-calloutComponent-logo"); diff --git a/packages/editor/src/core/extensions/code/code-block-node-view.tsx b/packages/editor/src/core/extensions/code/code-block-node-view.tsx index 5060a474ff..51d7438683 100644 --- a/packages/editor/src/core/extensions/code/code-block-node-view.tsx +++ b/packages/editor/src/core/extensions/code/code-block-node-view.tsx @@ -9,6 +9,9 @@ import { CopyIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; // plane utils import { cn } from "@plane/utils"; +// types +import type { TCodeBlockAttributes } from "./types"; +import { ECodeBlockAttributeNames } from "./types"; // we just have ts support for now const lowlight = createLowlight(common); @@ -20,6 +23,8 @@ type Props = { export function CodeBlockComponent({ node }: Props) { const [copied, setCopied] = useState(false); + // derived values + const attrs = node.attrs as TCodeBlockAttributes; const copyToClipboard = async (e: React.MouseEvent) => { try { @@ -34,7 +39,7 @@ export function CodeBlockComponent({ node }: Props) { }; return ( - +