From 104e59f0a6b9faf154b056822af01e5ba5492505 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Wed, 24 Jul 2024 22:55:29 +0200 Subject: [PATCH] WIP --- .../partials/sprite/SpriteDetails.vue | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/components/utilities/assetManager/partials/sprite/SpriteDetails.vue b/src/components/utilities/assetManager/partials/sprite/SpriteDetails.vue index 00b21f0..fa96b1a 100644 --- a/src/components/utilities/assetManager/partials/sprite/SpriteDetails.vue +++ b/src/components/utilities/assetManager/partials/sprite/SpriteDetails.vue @@ -20,7 +20,7 @@ {{ image.name }}
@@ -64,6 +64,10 @@
+
+
+ +
@@ -84,7 +88,12 @@ const assetManagerStore = useAssetManagerStore() const selectedSprite = computed(() => assetManagerStore.selectedSprite) const spriteName = ref('') -const spriteImages = ref([]) + +type uploadSpriteImage = SpriteImage & { + base64?: string +} + +const spriteImages = ref([]) if (!selectedSprite.value) { console.error('No sprite selected') @@ -95,6 +104,18 @@ if (selectedSprite.value) { spriteImages.value = selectedSprite.value.spriteImages } +function handleImageUpload(event: Event, image: uploadSpriteImage) { + const file = (event.target as HTMLInputElement).files?.[0] + if (!file) return + + const reader = new FileReader() + reader.onload = (e) => { + const base64String = e.target?.result as string + image.base64 = base64String.split(',')[1] // Remove the data:image/png;base64, prefix + } + reader.readAsDataURL(file) +} + function removeSprite() { gameStore.connection?.emit('gm:sprite:remove', { sprite: selectedSprite.value?.id }, (response: boolean) => { if (!response) {