fix bug of all tags state in new locale
This commit is contained in:
parent
2f1c944573
commit
1654050171
|
|
@ -103,29 +103,32 @@ const allTags = [...new Set(
|
|||
window.history.replaceState({}, '', url.toString());
|
||||
}
|
||||
|
||||
document.querySelectorAll('.filter-btn').forEach(btn => {
|
||||
btn.classList.add(...inactiveClasses.split(" "));
|
||||
});
|
||||
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(" "));
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
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', () => {
|
||||
const tag = btn.getAttribute('data-tag');
|
||||
activateTag(tag);
|
||||
updateUrl(tag);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
document.querySelectorAll('.filter-btn').forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const tag = btn.getAttribute('data-tag');
|
||||
activateTag(tag);
|
||||
updateUrl(tag);
|
||||
});
|
||||
});
|
||||
document.addEventListener('astro:page-load', initTags);
|
||||
if (document.readyState === 'complete') {
|
||||
initTags();
|
||||
}
|
||||
</script>
|
||||
Loading…
Reference in New Issue