matejos / Zlavomat/Slevomat bez okolia

// ==UserScript==
// @name         Zlavomat/Slevomat bez okolia
// @namespace    mailto:matejpoklemba@gmail.com
// @version      0.3
// @description  Prida na lavu cast stranky zlavomat.sk a slevomat.cz tlacidlo na skrytie ponuk, ktore nie su priamo v hladanom meste. Musis si ale predtym nascrollovat dole aby sa ti najskor vsetky ponuky nacitali
// @author       matejos
// @license      MIT
// @match        https://www.zlavomat.sk/*
// @match        https://www.slevomat.cz/*
// @require      http://code.jquery.com/jquery-latest.js
// ==/UserScript==

(function () {
  "use strict";
  var lokaciaBezOkolia = $(".localities__link").attr("data-locality-title")
  $(".filters__container").append("<div style='text-align: center; margin: 10px'><button type='button' id='ukazIbaLokaciuBtn'>Ukáž iba priamo " + lokaciaBezOkolia + "</button></div>");
  $(document).on('click', '#ukazIbaLokaciuBtn', function () {
    var zmazanychPonuk = 0;
    $(".product__info").each(function () {
      if (!$(this).children(":first").next().html()) {
        return;
      }
      var lokaciaElement = $(this).children(":first");
      if (lokaciaElement.hasClass("product__rating"))
          lokaciaElement = lokaciaElement.next();
      if (lokaciaElement.next().html())
          lokaciaElement = lokaciaElement.next();
      var lokaciaVoucheru = lokaciaElement.html();
      if (lokaciaVoucheru.startsWith(", "))
          lokaciaVoucheru = lokaciaVoucheru.substring(2);
      if (lokaciaVoucheru.indexOf(lokaciaBezOkolia) < 0) {
        console.log(lokaciaVoucheru + " nie je " + lokaciaBezOkolia);
        $(this).parent().parent().parent().parent().remove();
        zmazanychPonuk++;
      }
    });
    var pocetPonukText = $(".js-map-modal-opener").parent().html().trim();
    var pocetPonuk = pocetPonukText.substring(0, pocetPonukText.indexOf(" "));
    pocetPonukText = pocetPonukText.substring(pocetPonukText.indexOf(" "));
    var novyPocetPonuk = pocetPonuk - zmazanychPonuk;
    $(".js-map-modal-opener").parent().html(novyPocetPonuk + pocetPonukText);
  });
})();