From dd4b2bc36c1898c8d0be8d6a10c834cab99077d2 Mon Sep 17 00:00:00 2001 From: Theis Pieter Hollebeek Date: Fri, 10 Oct 2025 18:30:16 +0200 Subject: [PATCH] prevent duplicate names --- src/sprite_editor.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/sprite_editor.js b/src/sprite_editor.js index 16c4500..cc19918 100644 --- a/src/sprite_editor.js +++ b/src/sprite_editor.js @@ -24,8 +24,20 @@ export class SpriteEditor { }); input.addEventListener("change", async () => { for (const file of input.files) { + const rootName = file.name; + let fullName = file.name; + for (let i = 0; this.sprites.some((x) => x.name === fullName); ++i) { + const extensionIdx = rootName.split("").findLastIndex((x) => x === "."); + let name = rootName; + let extension = ""; + if (extensionIdx !== -1) { + name = rootName.slice(0, extensionIdx); + extension = rootName.slice(extensionIdx); + } + fullName = `${name}-${i}${extension}`; + } this.addSprite({ - name: file.name, + name: fullName, mime: file.type, bytes: await fetch(URL.createObjectURL(file)).then((x) => x.bytes()), });