diff --git a/src/hub.js b/src/hub.js index ed9f861b9b399ba60f83e88aa46f1fa325762e22..4c60dec0b56f8fe9707fb53449a7fe991c9e9f08 100644 --- a/src/hub.js +++ b/src/hub.js @@ -298,17 +298,24 @@ const onReady = async () => { NAF.connection.entities.completeSync(ev.detail.clientId); }); - document.addEventListener("paste", e => { - const scene = AFRAME.scenes[0]; - const imgUrl = e.clipboardData.getData("text"); - console.log("Pasted: ", imgUrl); - + const addMedia = url => { const image = document.createElement("a-entity"); image.id = "interactable-image-" + Date.now(); - image.setAttribute("position", { x: 0, y: 2, z: 1 }); - image.setAttribute("image-plus", "src", imgUrl); + image.setAttribute("image-plus", "src", url); image.setAttribute("networked", { template: "#interactable-image" }); scene.appendChild(image); + }; + + scene.addEventListener("add_media", e => { + addMedia(e.detail); + }); + + document.addEventListener("paste", e => { + if (e.target.nodeName === "INPUT") return; + + const imgUrl = e.clipboardData.getData("text"); + console.log("Pasted: ", imgUrl, e); + addMedia(imgUrl); }); if (!qsTruthy("offline")) {