diff --git a/src/pages/[locale]/news/index.astro b/src/pages/[locale]/news/index.astro index d16c3ac..6ea4114 100644 --- a/src/pages/[locale]/news/index.astro +++ b/src/pages/[locale]/news/index.astro @@ -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(); + } \ No newline at end of file