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,29 +103,32 @@ const allTags = [...new Set(
window.history.replaceState({}, '', url.toString()); window.history.replaceState({}, '', url.toString());
} }
document.querySelectorAll('.filter-btn').forEach(btn => { function initTags() {
btn.classList.add(...inactiveClasses.split(" ")); document.querySelectorAll('.filter-btn').forEach(btn => {
}); 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 => {
btn.addEventListener('click', () => {
const tag = btn.getAttribute('data-tag');
activateTag(tag);
updateUrl(tag);
});
});
} }
document.querySelectorAll('.filter-btn').forEach(btn => { document.addEventListener('astro:page-load', initTags);
btn.addEventListener('click', () => { if (document.readyState === 'complete') {
const tag = btn.getAttribute('data-tag'); initTags();
activateTag(tag); }
updateUrl(tag);
});
});
</script> </script>