const search = document.getElementById("search");
const results = document.getElementById("results");
search.addEventListener("submit", function (ev) {
  const url = new URL(this.action);
  url.search = new URLSearchParams(new FormData(this)).toString();
  const res = fetch(url, {
    headers: {
      fetch: "true",
    },
  })
    .then(function (res) {
      window.history.pushState(null, null, url);
      if (res.ok) {
        return res.text();
      } else {
        throw new Error(res.statusText);
      }
    })
    .then(function (html) {
      results.innerHTML = html;
    })
    .catch(function (error) {
      console.error("fetch failed", error);
    });
  ev.preventDefault();
});