refactor: replace IIFEs with modern JavaScript
This commit is contained in:
@@ -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>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user