refactor: replace IIFEs with modern JavaScript

This commit is contained in:
2026-04-20 16:43:09 +02:00
parent f20e9d626e
commit 0745f0e505
3 changed files with 23 additions and 39 deletions

View File

@@ -17,9 +17,7 @@ templ Pending(id int) {
</div>
</div>
<script>
setTimeout(function() {
window.location.reload()
}, 10000)
setTimeout(() => window.location.reload(), 10000)
</script>
}
}

View File

@@ -15,24 +15,17 @@ templ InfiniteAnimeList(animes []jikan.Anime, hasNext bool, nextURL string, cont
<div class="col-span-full h-px w-full" hx-get={ nextURL } hx-trigger="revealed" hx-swap="outerHTML"></div>
}
<script data-container={ containerID }>
(function() {
const scripts = document.querySelectorAll('script[data-container]');
const currentScript = scripts[scripts.length - 1];
const actualID = currentScript.getAttribute('data-container');
const container = document.getElementById(actualID) || document;
const items = container.querySelectorAll('[data-id]');
const seen = new Set();
items.forEach(item => {
const id = item.getAttribute('data-id');
if (id) {
if (seen.has(id)) {
item.remove();
} else {
seen.add(id);
}
}
});
})();
const containerId = document.currentScript.getAttribute('data-container');
const container = document.getElementById(containerId) || document;
const seen = new Set();
container.querySelectorAll('[data-id]').forEach(item => {
const id = item.getAttribute('data-id');
if (id && seen.has(id)) {
item.remove();
} else if (id) {
seen.add(id);
}
});
</script>
}

View File

@@ -82,23 +82,16 @@ templ StudioAnimeItems(animes []jikan.Anime, hasNext bool, studioID int, nextPag
@StudioLoadMore(studioID, nextPage)
}
<script data-container="studio-anime-content">
(function() {
const scripts = document.querySelectorAll('script[data-container]');
const currentScript = scripts[scripts.length - 1];
const actualID = currentScript.getAttribute('data-container');
const container = document.getElementById(actualID) || document;
const items = container.querySelectorAll('[data-id]');
const seen = new Set();
items.forEach(item => {
const id = item.getAttribute('data-id');
if (id) {
if (seen.has(id)) {
item.remove();
} else {
seen.add(id);
}
}
});
})();
const containerId = document.currentScript.getAttribute('data-container');
const container = document.getElementById(containerId) || document;
const seen = new Set();
container.querySelectorAll('[data-id]').forEach(item => {
const id = item.getAttribute('data-id');
if (id && seen.has(id)) {
item.remove();
} else if (id) {
seen.add(id);
}
});
</script>
}