mad-max / Impfterminservice

// ==UserScript==
// @name         Impfterminservice
// @namespace    http://tampermonkey.net/
// @version      1.1.2
// @description  refresh that damn fucking think!
// @author       You
// @match        https://001-iz.impfterminservice.de/impftermine/*
// @include      https://002-iz.impfterminservice.de/impftermine/*
// @icon         https://www.google.com/s2/favicons?domain=impfterminservice.de
// @license      MIT
// @grant        GM_notification
// ==/UserScript==

(function () {
  "use strict";
  setTimeout(retryFkt, 100);
  function retryFkt() {
    if (document.getElementsByName("vaccination-approval-checked")[1]) {
      if (
        document.getElementsByClassName("alert alert-danger text-center")[0]
      ) {
        var retry = document.getElementsByName(
          "vaccination-approval-checked"
        )[1];
        retry.click();
      }
    }
    if (
      document.getElementsByClassName(
        "btn btn-magenta kv-btn kv-btn-round search-filter-button"
      )[0]
    ) {
      setTimeout(check_dateFkt, 1000);
      setTimeout(cancelFkt, 5000);
    }

    setTimeout(retryFkt, 10000);
  }
  function check_dateFkt() {
    // window.alert("Termin Suchen!");
    if (
      document.getElementsByClassName(
        "btn btn-magenta kv-btn kv-btn-round search-filter-button"
      )[0]
    ) {
      var check_date = document.getElementsByClassName(
        "btn btn-magenta kv-btn kv-btn-round search-filter-button"
      )[0];
      check_date.click();
    }
  }
  function cancelFkt() {
    if (document.getElementsByClassName("icon-ets icon-ets-warning")[0]) {
      // window.alert("In der IF!");
      var cancel = document.getElementsByClassName(
        "text-center d-inline-block"
      )[3];
      // window.alert("Nach Abbrechen!");
      cancel.click();
      location.reload(true);
    } else {
      window.alert("Termin Gefunden!");
      GM_notification({ title: "Termin Gefunden!", text: "Ich habe endlich einen Termin gefunden!" });
    }
  }
})();