patx/gitman

(() => {
  const dialog = document.getElementById('password-dialog');
  const open = document.getElementById('change-password-open');
  if (!dialog || !open) return;
  open.addEventListener('click', () => dialog.showModal());
  document.getElementById('change-password-cancel').addEventListener('click', () => dialog.close());
  dialog.addEventListener('close', () => {
    dialog.querySelector('form').reset();
    const error = dialog.querySelector('[role="alert"]');
    if (error) error.remove();
    open.focus();
  });
  if (dialog.dataset.reopen === 'true') dialog.showModal();
})();