Sleazy Fork is available in English.

popup for coronabuddy

@require library

Този скрипт не може да бъде инсталиран директно. Това е библиотека за други скриптове и може да бъде използвана с мета-директива // @require https://update.sleazyfork.org/scripts/403976/808255/popup%20for%20coronabuddy.js

  1. // Vars
  2. let darkmodeEnabled;
  3.  
  4. let coronaBuddyPopup = /*html*/`
  5. <span style="color: lime !important; top: 0; right: 0; padding: 1em 1em 1em 1em; display: block; position: absolute; font-weight: 800;">
  6. <span style="cursor: pointer" onclick="document.querySelector('#coronaBuddyPopupInstance').remove()">X</span>
  7. </span>
  8. <div class="popup__banner">
  9. <p class="popup__banner--text">Coronabuddy</p>
  10. </div>
  11. <div class="popup">
  12. <textarea id="popup__textarea" class="popup__textarea class"></textarea>
  13. </div>
  14. <div class="popup__button--center">
  15. <button id="popup__save" class="popup__button popup__button--save"><p id="popup__save--text" class="popup__button--text">SAVE LIST</p></button>
  16. <button id="popup__clear" class="popup__button popup__button--clear"><p class="popup__button--text">CLEAR LIST</p></button>
  17. </div>
  18. <div class="popup__darkmode">
  19. <div class="popup__darkmode--text">Dark Mode?</div>
  20. <div id="popup__check" class="popup__darkmode--checkbox"></div>
  21. </div>
  22. `;
  23.  
  24. function saveNiggerList() {
  25. if (document.querySelector("#popup__textarea")) {
  26. GM.setValue(
  27. "gayNiggerList",
  28. document.querySelector("#popup__textarea").value
  29. ).then(() => {
  30. location.reload();
  31. });
  32. }
  33. }
  34.  
  35. function clearNiggerList() {
  36. if (document.querySelector("#popup__textarea")) {
  37. GM.setValue("gayNiggerList", "Gay Nigger 1, Gay Nigger 2").then(() => {
  38. location.reload();
  39. });
  40. }
  41. }
  42.  
  43. function coronaBuddyDarkmodeToggle() {
  44. if (darkModeEnabled === true) {
  45. darkModeEnabled = false;
  46. document
  47. .querySelector("#popup__check")
  48. .classList.remove("popup__darkmode--checkbox--check");
  49. GM.setValue("darkmodeEnabled", false).then(() => {
  50. location.reload();
  51. });
  52. } else {
  53. darkModeEnabled = true;
  54. document
  55. .querySelector("#popup__check")
  56. .classList.add("popup__darkmode--checkbox--check");
  57. GM.setValue("darkmodeEnabled", true).then(() => {
  58. location.reload();
  59. });
  60. }
  61. }
  62.  
  63. GM.registerMenuCommand(
  64. "Coronabuddy Options",
  65. function () {
  66. let coronaBuddyPopupInstance = document.createElement("div");
  67. coronaBuddyPopupInstance.id = "coronaBuddyPopupInstance"
  68. coronaBuddyPopupInstance.innerHTML = coronaBuddyPopup;
  69. coronaBuddyPopupInstance.style.cssText +=
  70. "position: fixed; top: 10em; text-align: center; max-width: 20em; height: 60vh; margin: 0 auto; background-color: black; left: 0; right: 0;";
  71.  
  72. document.body.appendChild(coronaBuddyPopupInstance);
  73. document.querySelector(".popup__button--save").onclick = saveNiggerList;
  74. document.querySelector(".popup__button--clear").onclick = clearNiggerList;
  75. document.querySelector("#popup__check").onclick = coronaBuddyDarkmodeToggle;
  76. GM.getValue("darkmodeEnabled", false).then((value) => {
  77. darkModeEnabled = value;
  78. if (value === false) {
  79. } else {
  80. document
  81. .querySelector("#popup__check")
  82. .classList.add("popup__darkmode--checkbox--check");
  83. }
  84. });
  85. document.querySelector("#popup__textarea").value = gayNiggerList;
  86. document
  87. .getElementById("popup__textarea")
  88. .addEventListener("keydown", function (event) {
  89. if (event.key === "Enter") {
  90. event.preventDefault();
  91. saveNiggerList();
  92. document
  93. .getElementById("popup__save")
  94. .classList.add("popup__button--invert");
  95. document
  96. .getElementById("popup__save--text")
  97. .classList.add("popup__button--invert");
  98. setTimeout(() => {
  99. document
  100. .getElementById("popup__save")
  101. .classList.remove("popup__button--invert");
  102. document
  103. .getElementById("popup__save--text")
  104. .classList.remove("popup__button--invert");
  105. }, 1000);
  106. }
  107. });
  108. },
  109. "r"
  110. );