Allow navigating to a grid filter with URL hash

This commit is contained in:
2024-06-26 21:00:28 +01:00
parent b8ae0f59a7
commit 62d907cf2e

View File

@@ -117,6 +117,12 @@ const filterFunc = function (selectedValue) {
// add event in all filter button items for large screen // add event in all filter button items for large screen
let lastClickedBtn = filterBtn[0]; let lastClickedBtn = filterBtn[0];
// show correct filter depending on url
let filterValue = "";
if (filterBtn.length > 0 && location.hash.length > 1) {
filterValue = decodeURIComponent(location.hash.substring(1));
}
for (let i = 0; i < filterBtn.length; i++) { for (let i = 0; i < filterBtn.length; i++) {
filterBtn[i].addEventListener("click", function () { filterBtn[i].addEventListener("click", function () {
@@ -125,6 +131,9 @@ for (let i = 0; i < filterBtn.length; i++) {
selectValue.innerText = this.innerText; selectValue.innerText = this.innerText;
filterFunc(selectedValue); filterFunc(selectedValue);
// set id in url
location.hash = encodeURIComponent(filterBtn[i].innerHTML);
lastClickedBtn.classList.remove("active"); lastClickedBtn.classList.remove("active");
this.classList.add("active"); this.classList.add("active");
lastClickedBtn = this; lastClickedBtn = this;
@@ -139,6 +148,10 @@ for (let i = 0; i < filterBtn.length; i++) {
} }
}); });
if (filterValue === filterBtn[i].innerHTML) {
filterBtn[i].click();
}
} }