From 0daf478d9ad8b14d2844ff6ae2db9bd72970d680 Mon Sep 17 00:00:00 2001 From: Chris Villa Date: Thu, 6 Jun 2024 12:14:35 +0100 Subject: [PATCH] fix: fix crash if component in data is missing from config --- packages/core/components/DropZone/index.tsx | 13 ++++++++----- packages/core/components/LayerTree/index.tsx | 10 ++++++---- packages/core/components/Puck/index.tsx | 13 +++++++------ 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/packages/core/components/DropZone/index.tsx b/packages/core/components/DropZone/index.tsx index 5a9327fe2..9bbaeefdb 100644 --- a/packages/core/components/DropZone/index.tsx +++ b/packages/core/components/DropZone/index.tsx @@ -10,7 +10,7 @@ import { DropZoneProvider, dropZoneContext } from "./context"; import { getZoneId } from "../../lib/get-zone-id"; import { useAppContext } from "../Puck/context"; import { DropZoneProps } from "./types"; -import { PuckContext } from "../../types/Config"; +import { ComponentConfig, PuckContext } from "../../types/Config"; const getClassName = getClassNameFactory("DropZone", styles); @@ -231,6 +231,12 @@ function DropZoneEdit({ zone, allow, disallow, style }: DropZoneProps) { ); + const componentConfig: ComponentConfig | undefined = + config.components[item.type]; + + const label = + componentConfig?.["label"] ?? item.type.toString(); + return (
)}
-
- {config.components[item.type]["label"] ?? item.type} -
+
{label}
diff --git a/packages/core/components/Puck/index.tsx b/packages/core/components/Puck/index.tsx index 0bfe357c9..04dddf6c7 100644 --- a/packages/core/components/Puck/index.tsx +++ b/packages/core/components/Puck/index.tsx @@ -369,6 +369,12 @@ export function Puck({ setMounted(true); }, []); + const selectedComponentConfig = + selectedItem && config.components[selectedItem.type]; + const selectedComponentLabel = selectedItem + ? selectedComponentConfig?.["label"] ?? selectedItem.type.toString() + : ""; + return (
({ noPadding noBorderTop showBreadcrumbs - title={ - selectedItem - ? config.components[selectedItem.type]["label"] ?? - selectedItem.type - : "Page" - } + title={selectedItem ? selectedComponentLabel : "Page"} >