|
// ==UserScript== |
|
// @author Zro716 |
|
// @name Scratch Support Buttons |
|
// @namespace ScratchSupportButtons |
|
// @description Adds buttons to post "support" or "no support" (must include a reason) |
|
// @include https://scratch.mit.edu/discuss/topic/* |
|
// @version 1.01 |
|
// @grant none |
|
// ==/UserScript== |
|
|
|
var isOpen = !!document.getElementsByClassName("follow-button").length, |
|
isSuggestion = document.querySelectorAll("a")[21].innerHTML == "Suggestions", |
|
pageNum = window.location.href.match(/\?page=(\d+)/), |
|
isFirstPage = pageNum == null || pageNum[1] == 1; |
|
|
|
console.log("ScratchSupportButtons Debug:\n isOpen -> " + isOpen |
|
+ "\n isSuggestion -> " + isSuggestion |
|
+ "\n pageNum -> " + JSON.stringify(pageNum) |
|
+ "\n isFirstPage -> " + isFirstPage); |
|
|
|
if (isOpen && isSuggestion && isFirstPage) { |
|
var op = document.getElementsByClassName("post_body_html")[0]; |
|
console.log(op); |
|
var btn_sup = document.createElement("button"), |
|
btn_nosup = document.createElement("button"); |
|
btn_sup.setAttribute("class","follow-button button blue"); |
|
btn_nosup.setAttribute("class","unfollow-button button grey"); |
|
btn_sup.innerHTML = "I Support"; |
|
btn_nosup.innerHTML = "I Don't Support"; |
|
btn_sup.onclick = function() { |
|
var post = prompt("It is encouraged by the Scratch Team to give reason for supporting.\nPlease briefly write your thoughts below:"); |
|
if (post) { |
|
document.getElementsByTagName("textarea")[0].value = "I support. " + post; |
|
document.getElementsByClassName("form-submit")[0].getElementsByTagName("button")[0].click(); |
|
} |
|
}; |
|
btn_nosup.onclick = function() { |
|
var post = prompt("It is encouraged by the Scratch Team to give reason for not supporting.\nPlease briefly write your thoughts below:"); |
|
if (post) { |
|
document.getElementsByTagName("textarea")[0].value = "I don't support. " + post; |
|
document.getElementsByClassName("form-submit")[0].getElementsByTagName("button")[0].click(); |
|
} |
|
}; |
|
var div = document.createElement("div"); |
|
div.setAttribute("class","ScratchSupportButtons"); |
|
div.appendChild(document.createElement("br")); |
|
div.appendChild(btn_sup); |
|
div.appendChild(btn_nosup); |
|
op.appendChild(div); |
|
} |