Skip to content

Commit

Permalink
fix: remove duplicates from recent filters
Browse files Browse the repository at this point in the history
  • Loading branch information
ChinatuL committed Jul 31, 2023
1 parent 50e597a commit 9a57141
Showing 1 changed file with 24 additions and 11 deletions.
35 changes: 24 additions & 11 deletions js/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ showSlides();
/******************************************* FILTERS ********************************************/
const inputElem = document.querySelector(".filters__form-input");
const filtersList = document.querySelector(".filters__list");
const recentFiltersElem = document.querySelector(".filters__recents-list");
const recentFiltersList = document.querySelector(".filters__recents-list");
let suggestions = [];

inputElem.addEventListener("keyup", () => {
Expand Down Expand Up @@ -170,21 +170,34 @@ function getRecentFilters() {
let storedFilters = JSON.parse(localStorage.getItem("recentFilters"));

storedFilters.forEach((filter) => {
let recentFilter = makeElement("li", null, null);
let recentFilter = makeElement(
"li",
{ className: "filters__recents-item" },
null
);
recentFilter.textContent = filter;
recentFiltersElem.append(recentFilter);
recentFiltersList.append(recentFilter);

if (recentFiltersElem.children) {
addClass(recentFiltersElem.previousElementSibling, "show");
addClass(recentFiltersElem, "show");
}
const recentFilterItems = document.querySelectorAll(
".filters__recents-item"
);
const recentFiltersMap = new Map();
recentFilterItems.forEach((item) => {
const text = item.textContent;
if (recentFiltersMap.has(text)) {
item.remove();
} else {
recentFiltersMap.set(text, true);
}
});

if (recentFilter.isEqualNode(recentFilter.previousElementSibling)) {
recentFilter.remove();
if (recentFiltersList.children) {
addClass(recentFiltersList.previousElementSibling, "show");
addClass(recentFiltersList, "show");
}

if (recentFiltersElem.children.length === 6) {
recentFiltersElem.firstElementChild.remove();
if (recentFiltersList.children.length === 6) {
recentFiltersList.firstElementChild.remove();
}
});
}
Expand Down

0 comments on commit 9a57141

Please sign in to comment.