Skip to content

Commit b56e89a

Browse files
committed
put sprites in DOM under svg-sprites id
1 parent 0f9d9ce commit b56e89a

File tree

2 files changed

+11
-16
lines changed

2 files changed

+11
-16
lines changed

wwwroot/index.ejs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,11 @@
9595
<script>
9696
L_PREFER_CANVAS = true;
9797
</script>
98-
<script src="sprite-loader.js"></script>
98+
<script src="sprite-loader.mjs"></script>
9999
</head>
100100

101101
<body>
102+
<div id="svg-sprites" style="display: none"></div>
102103
<div id="ui"></div>
103104
</body>
104105
</html>

wwwroot/sprite-loader.js renamed to wwwroot/sprite-loader.mjs

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
// Function to load sprite manifest
99
async function loadSpriteManifest() {
1010
try {
11-
var response = await fetch("build/sprite-manifest.json");
11+
const response = await fetch("build/sprite-manifest.json");
1212
if (!response.ok) {
1313
throw new Error("Failed to load sprite manifest: " + response.status);
1414
}
15-
var manifest = await response.json();
15+
const manifest = await response.json();
1616
return manifest.sprites || [];
1717
} catch (error) {
1818
throw new Error("Invalid sprite manifest: " + error.message);
@@ -21,29 +21,27 @@
2121

2222
// Function to load and inject a single sprite
2323
async function loadSprite(spriteUrl) {
24-
var response = await fetch(spriteUrl);
24+
const response = await fetch(spriteUrl);
2525
if (!response.ok) {
2626
throw new Error(
2727
"Failed to load sprite: " + spriteUrl + " (" + response.status + ")"
2828
);
2929
}
3030

31-
var svgContent = await response.text();
31+
const svgContent = await response.text();
3232

33-
// Create a div to hold the sprite
34-
var spriteContainer = document.createElement("div");
35-
spriteContainer.style.display = "none";
33+
const existingContainer = document.getElementById("svg-sprites");
34+
const spriteContainer = document.createElement("div");
3635
spriteContainer.innerHTML = svgContent;
3736

38-
// Insert at the beginning of body
39-
document.body.insertBefore(spriteContainer, document.body.firstChild);
37+
existingContainer.appendChild(spriteContainer.firstChild);
4038

4139
console.log("SVG sprite loaded:", spriteUrl);
4240
}
4341

4442
// Function to load all sprites
4543
async function loadAllSprites(spritePaths) {
46-
var promises = spritePaths.map(function (spritePath) {
44+
const promises = spritePaths.map(function (spritePath) {
4745
return loadSprite("build/" + spritePath);
4846
});
4947

@@ -58,13 +56,9 @@
5856
return;
5957
}
6058

61-
console.log("Initializing sprite loader...");
62-
6359
try {
64-
var spritePaths = await loadSpriteManifest();
65-
console.log("Found", spritePaths.length, "sprite(s) to load");
60+
const spritePaths = await loadSpriteManifest();
6661
await loadAllSprites(spritePaths);
67-
console.log("All sprites loaded successfully");
6862
} catch (error) {
6963
console.warn("Sprite loader failed:", error.message);
7064
}

0 commit comments

Comments
 (0)