function applySearchFilter()

in src/js/other-websites/inpage_menu.js [289:320]


function applySearchFilter(query) {
  // The search results will only count/return from whichever list is active/visible.
  const maskSearchResults = Array.from(
    document.querySelectorAll(".fx-relay-menu-masks-list.is-visible ul li")
  );

  maskSearchResults.forEach((maskResult) => {
    const button = maskResult.querySelector("button");
    const emailAddress = button.dataset.mask;
    const label = button.dataset.label;
    const matchesSearchFilter =
      label.toLowerCase().includes(query.toLowerCase()) ||
      emailAddress.toLowerCase().includes(query.toLowerCase());

    if (matchesSearchFilter) {
      maskResult.classList.remove("is-hidden");
    } else {
      maskResult.classList.add("is-hidden");
    }
  });

  // Set #/# labels inside search bar to show results count
  const searchFilterTotal = document.querySelector(".js-filter-masks-total");
  const searchFilterVisible = document.querySelector(
    ".js-filter-masks-visible"
  );

  searchFilterVisible.textContent = maskSearchResults.filter(
    (maskResult) => !maskResult.classList.contains("is-hidden")
  ).length;
  searchFilterTotal.textContent = maskSearchResults.length;
}