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