fix bug of all tags state in new locale

This commit is contained in:
Esteban Paz 2026-04-22 01:52:14 -05:00
parent 2f1c944573
commit 1654050171
1 changed files with 22 additions and 19 deletions

View File

@ -103,23 +103,20 @@ const allTags = [...new Set(
window.history.replaceState({}, '', url.toString());
}
function initTags() {
document.querySelectorAll('.filter-btn').forEach(btn => {
btn.classList.add(...inactiveClasses.split(" "));
});
const urlParams = new URLSearchParams(window.location.search);
const initialTag = urlParams.get('tag');
if (initialTag) {
const matchingBtn = document.querySelector(`.filter-btn[data-tag="${initialTag}"]`);
if (matchingBtn) {
matchingBtn.classList.remove(...inactiveClasses.split(" "));
matchingBtn.classList.add(...activeClasses.split(" "));
if (urlParams.has('tag')) {
urlParams.delete('tag');
window.history.replaceState({}, '', window.location.pathname + window.location.search);
}
activateTag(initialTag);
} else {
document.querySelector('.filter-btn[data-tag="all"]')?.classList.add(...activeClasses.split(" "));
document.querySelector('.filter-btn[data-tag="all"]')?.classList.remove(...inactiveClasses.split(" "));
}
activateTag('all');
document.querySelectorAll('.filter-btn').forEach(btn => {
btn.addEventListener('click', () => {
@ -128,4 +125,10 @@ const allTags = [...new Set(
updateUrl(tag);
});
});
}
document.addEventListener('astro:page-load', initTags);
if (document.readyState === 'complete') {
initTags();
}
</script>