GGn Quick Bump Requests

Bump requests from the list page

  1. // ==UserScript==
  2. // @name GGn Quick Bump Requests
  3. // @namespace none
  4. // @version 1
  5. // @description Bump requests from the list page
  6. // @author ingts
  7. // @match https://gazellegames.net/requests.php*
  8. // @exclude https://gazellegames.net/requests.php?action=new*
  9. // ==/UserScript==
  10. const submit = document.querySelector('div.submit')
  11. const rows = document.querySelectorAll("#requests_list > tbody > tr:not(.colhead_dark)")
  12. const button = document.createElement('button')
  13. button.textContent = 'Show bump buttons'
  14. button.type = 'button'
  15. button.style.marginTop = '10px'
  16. submit.append(button)
  17. button.onclick = () => {
  18. button.remove()
  19. rows.forEach(row=> {
  20. const voteButton = row.querySelector('a[href*="IndexVote"]')
  21. const bump = document.createElement('button')
  22. bump.textContent = 'Bump'
  23. bump.style.margin = '3px auto 0 auto'
  24. bump.style.display = 'block'
  25. bump.onclick = () => {
  26. bump.disabled = true
  27. fetch(`requests.php?action=bumprequest&id=${/\d+/.exec(voteButton.href)[0]}`)
  28. .then(r => {
  29. if (r.status === 200) bump.textContent = 'Bumped'
  30. })
  31. }
  32. voteButton.after(bump)
  33. })
  34. }