diff --git a/src/pages/Editor.tsx b/src/pages/Editor.tsx index 1f88cd5..4f7a99a 100644 --- a/src/pages/Editor.tsx +++ b/src/pages/Editor.tsx @@ -5232,11 +5232,12 @@ export default function Editor() { } }); - // Save model data for scene persistence const modelBlob = await fetch(modelUrl).then(r => r.blob()); - const blobUrl = URL.createObjectURL(modelBlob); - setBlobURLs(prev => [...prev, blobUrl]); - setModelData({ name: "Generated_Model.glb", data: blobUrl, extension: 'glb' }); + setImportStatus("Uploading to cloud storage... 0%"); + const cloudUrl = await uploadAssetToStorage(modelBlob, 'assets', `models/${user?.id || 'guest'}_${Date.now()}_Generated_Model.glb`, (prog) => { + setImportStatus(`Uploading to cloud storage... ${prog}%`); + }); + setModelData({ name: "Generated_Model.glb", data: cloudUrl, extension: 'glb' }); const boundingBox = new THREE.Box3().setFromObject(object); const center = new THREE.Vector3(); @@ -5290,7 +5291,6 @@ export default function Editor() { } setLoadedModel(object); - setBlobURLs(prev => [...prev, modelUrl]); setSceneObjects(prev => [ ...prev.filter(obj => obj.type !== 'cube'), ...newSceneObjects