function toggleVisibility(btn: HTMLButtonElement) {
  const repo = btn.dataset.repo!
  const current = btn.dataset.visibility!
  const next = current === 'public' ? 'private' : 'public'
  btn.dataset.visibility = next
  btn.textContent = next
  btn.classList.toggle('public', next === 'public')
  fetch('/api/visibility/' + encodeURIComponent(repo), {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ visibility: next }),
  }).catch(() => {
    btn.dataset.visibility = current
    btn.textContent = current
    btn.classList.toggle('public', current === 'public')
  })
}

Object.assign(window, { toggleVisibility })
