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>
</div> </div>
<script> <script>
setTimeout(function() { setTimeout(() => window.location.reload(), 10000)
window.location.reload()
}, 10000)
</script> </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> <div class="col-span-full h-px w-full" hx-get={ nextURL } hx-trigger="revealed" hx-swap="outerHTML"></div>
} }
<script data-container={ containerID }> <script data-container={ containerID }>
(function() { const containerId = document.currentScript.getAttribute('data-container');
const scripts = document.querySelectorAll('script[data-container]'); const container = document.getElementById(containerId) || document;
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(); const seen = new Set();
items.forEach(item => { container.querySelectorAll('[data-id]').forEach(item => {
const id = item.getAttribute('data-id'); const id = item.getAttribute('data-id');
if (id) { if (id && seen.has(id)) {
if (seen.has(id)) {
item.remove(); item.remove();
} else { } else if (id) {
seen.add(id); seen.add(id);
} }
}
}); });
})();
</script> </script>
} }

View File

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