From 7bc035d4c79c5a81839e77ea53070eba4ea0709e Mon Sep 17 00:00:00 2001 From: ajvpot <553597+ajvpot@users.noreply.github.com> Date: Sat, 23 Aug 2025 03:47:49 +0200 Subject: [PATCH] types --- src/components/ChatMessageItem.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/components/ChatMessageItem.tsx b/src/components/ChatMessageItem.tsx index ab68fc1..e259442 100644 --- a/src/components/ChatMessageItem.tsx +++ b/src/components/ChatMessageItem.tsx @@ -31,6 +31,11 @@ interface TreeNode { [key: string]: any; } +// Type guard to ensure treeData is valid +const isValidTreeData = (data: TreeNode | null): data is TreeNode => { + return data !== null && typeof data === 'object' && 'name' in data; +}; + function formatHex(hex: string): string { return hex.replace(/(.{2})/g, "$1 ").trim(); } @@ -209,9 +214,9 @@ function ChatMessageItem({ msg, showErrorRow }: { msg: ChatMessage, showErrorRow ), [originsExpanded, originsCount, showGraph, originKeyPathArray, handleOriginsToggle, handleGraphToggle]); const GraphView = useCallback(() => { - if (!showGraph || originsCount === 0) return null; + if (!showGraph || originsCount === 0 || !treeData) return null; - const treeComponent = ( + const renderTree = () => ( { const isRoot = nodeDatum.name === "??"; // Check if this node represents an origin pubkey (final 2-char hex from pubkey) @@ -274,7 +279,7 @@ function ChatMessageItem({ msg, showErrorRow }: { msg: ChatMessage, showErrorRow
- {treeData ? treeComponent : null} + {renderTree()}
, @@ -292,7 +297,7 @@ function ChatMessageItem({ msg, showErrorRow }: { msg: ChatMessage, showErrorRow
- {treeData && treeComponent} + {renderTree()}
);