fix bug of all tags state in new locale
This commit is contained in:
parent
2f1c944573
commit
1654050171
|
|
@ -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>
|
||||||
Loading…
Reference in New Issue