var gitNotesUrl = new URL(document.currentScript.src) gitNotesUrl.pathname = “/api/notes.html”

$(document).ready(function() {

function injectExpandScript(e, parentLabels) {
  e.querySelectorAll('.gitnoted-label').forEach(function (e) {
    var url = new URL(gitNotesUrl)
    url.searchParams.set('labels', e.innerText)
    url.searchParams.set('exclude_labels', parentLabels)
    var nextParentLabels = `${parentLabels},${e.innerText}`
    e.classList.add('gitnoted-label-button')
    e.onclick = function() {
      console.log(`exclude_labels: ${nextParentLabels}`)
      fetch(url, {mode: 'cors'}).then(function (r) {
        return r.text()
      }).then(function (t) {
        var template = document.createElement('template')
        template.innerHTML = t
        var note = template.content.firstChild
        injectExpandScript(note, nextParentLabels)
        e.parentNode.parentNode.appendChild(note, e)
        e.classList.remove('gitnoted-label-button')
        e.onclick = null
      })
    }
  })
}

document.querySelectorAll('div.gitnoted').forEach(function (e) {
  var url = new URL(gitNotesUrl)
  if (e.dataset.labels) {
    url.searchParams.set('labels', e.dataset.labels)
  }
  fetch(url, {mode: 'cors'}).then(function (r) {
    return r.text()
  }).then(function (t) {
    var template = document.createElement('template')
    template.innerHTML = t
    var note = template.content.firstChild
    if (e.dataset.labels) {
      injectExpandScript(note, e.dataset.labels)
    }
    e.parentNode.replaceChild(note, e)
  })
})

})