From f8630466d540ea93bde13b812952582696796e94 Mon Sep 17 00:00:00 2001 From: Manuel Martin Date: Mon, 4 Dec 2023 12:57:37 +0100 Subject: [PATCH] Fix deletable --- src/react-components/room/object-hooks.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/react-components/room/object-hooks.js b/src/react-components/room/object-hooks.js index bc524534e1..c8394546b5 100644 --- a/src/react-components/room/object-hooks.js +++ b/src/react-components/room/object-hooks.js @@ -187,12 +187,25 @@ export function useRemoveObject(hubChannel, scene, object) { const eid = object.eid; + let canBePinned = false; + if (shouldUseNewLoader()) { + const mediaRootEid = findAncestorWithComponent(APP.world, MediaLoader, object.eid); + canBePinned = canPinObject(APP.hubChannel, mediaRootEid); + } else { + const el = object.el; + if (el.components["media-loader"]) { + const { fileIsOwned, fileId } = el.components["media-loader"].data; + canBePinned = fileIsOwned || (fileId && getPromotionTokenForFile(fileId)); + } + } + const canRemoveObject = !!( scene.is("entered") && !isPlayer(object) && !isObjectPinned(APP.world, eid) && !hasComponent(APP.world, Static, eid) && - hubChannel.can("spawn_and_move_media") + hubChannel.can("spawn_and_move_media") && + canBePinned ); return { removeObject, canRemoveObject };