From d00e4238e1a0d6ac0dc7a0b207586387351b0238 Mon Sep 17 00:00:00 2001 From: Palanikannan M Date: Mon, 19 Jan 2026 14:25:34 +0530 Subject: [PATCH 1/3] fix node renders --- .../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 | 89 +++++++++++-------- .../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, 113 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 94fa5a81134..e6a372a4d10 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 5060a474ffd..51d7438683a 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 ( - +