Mathspace Confidence Booster

Adds confidence points to the leaderboard to motivate students on MathsSpace.co

  1. // ==UserScript==
  2. // @name Mathspace Confidence Booster
  3. // @namespace http://mathsspace.co/
  4. // @version 1.0
  5. // @description Adds confidence points to the leaderboard to motivate students on MathsSpace.co
  6. // @author CodeCopilot
  7. // @match *://*.mathsspace.co/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function () {
  12. 'use strict';
  13.  
  14. console.log("[MathsSpace Booster] Script Loaded ✅");
  15.  
  16. function addConfidencePoints() {
  17. let correctMessage = document.querySelector(".correct-answer-message"); // Adjust if needed
  18. let leaderboard = document.querySelector(".leaderboard-score"); // Adjust if needed
  19.  
  20. if (correctMessage && leaderboard) {
  21. let currentScore = parseInt(leaderboard.innerText, 10) || 0;
  22. let extraPoints = 50; // Confidence Boost
  23. let newScore = currentScore + extraPoints;
  24.  
  25. leaderboard.innerText = newScore;
  26. showMotivationMessage(correctMessage, extraPoints);
  27. }
  28. }
  29.  
  30. function showMotivationMessage(targetNode, points) {
  31. let messageBox = document.createElement("div");
  32. messageBox.className = "confidence-message";
  33. messageBox.style.background = "#4CAF50";
  34. messageBox.style.color = "#fff";
  35. messageBox.style.padding = "10px";
  36. messageBox.style.marginTop = "10px";
  37. messageBox.style.borderRadius = "5px";
  38. messageBox.style.fontWeight = "bold";
  39. messageBox.style.textAlign = "center";
  40. messageBox.innerText = `🎉 Great job! +${points} Confidence Points! 🎉`;
  41.  
  42. targetNode.appendChild(messageBox);
  43.  
  44. setTimeout(() => messageBox.remove(), 3000); // Hide after 3 seconds
  45. }
  46.  
  47. function watchForChanges() {
  48. let observer = new MutationObserver(() => addConfidencePoints());
  49. observer.observe(document.body, { childList: true, subtree: true });
  50. console.log("[MathsSpace Booster] Watching for achievements...");
  51. }
  52.  
  53. watchForChanges();
  54. })();
  55.  
  56.