From 387530b84d70ba922091b07d2d756a46d3e5b513 Mon Sep 17 00:00:00 2001 From: Bogdan Chadkin Date: Tue, 7 Jan 2025 02:44:13 +0700 Subject: [PATCH] fix: insert properly from marketplace (#4725) Fixes https://github.com/webstudio-is/webstudio/issues/4723 We removed body from template data but didn't fix roots. Later insertion logic started to rely on these roots. --- .../app/builder/features/marketplace/templates.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/builder/app/builder/features/marketplace/templates.tsx b/apps/builder/app/builder/features/marketplace/templates.tsx index 6835c6698eaf..64a4c7ff728f 100644 --- a/apps/builder/app/builder/features/marketplace/templates.tsx +++ b/apps/builder/app/builder/features/marketplace/templates.tsx @@ -45,9 +45,16 @@ const insertSection = ({ instanceId: string; }) => { const fragment = extractWebstudioFragment(data, instanceId); - fragment.instances = fragment.instances.filter( - (instance) => instance.component !== "Body" + const body = fragment.instances.find( + (instance) => instance.component === "Body" ); + // remove body and use its children as root insrances + if (body) { + fragment.instances = fragment.instances.filter( + (instance) => instance.component !== "Body" + ); + fragment.children = body.children; + } const insertable = findClosestInsertable(fragment); if (insertable) { insertWebstudioFragmentAt(fragment, insertable);