Fixes weird math test images in Agilix Buzz
// ==UserScript==
// @name Better Buzz Maths
// @namespace https://greasyfork.org/users/1359538
// @version 2.0
// @description Fixes weird math test images in Agilix Buzz
// @license MIT
// @icon https://www.google.com/s2/favicons?sz=64&domain=agilixbuzz.com
// @homepage https://greasyfork.org/scripts/505681
// @match https://legacy.agilixbuzz.com/*
// @grant none
// ==/UserScript==
(function() {
"use strict";
const url = /cdn\.flvs\.net\/(.*math_|assessment_images).*\.(png|gif)/;
if (!document.querySelector("style#style-math-fix")) {
const style = document.createElement("style");
style.id = "style-math-fix";
style.textContent = ".math-fix {filter: brightness(0.5) invert(1);}";
document.head.appendChild(style);
}
function invert(img) {
if (!img.classList.contains("math-fix") && url.test(img.src)) {
img.classList.add("math-fix");
}
}
const observer = new MutationObserver((mutations) => {
for (const mut of mutations) {
if (mut.type === "childList") {
for (const node of mut.addedNodes) {
if (node.tagName === "IMG") {
invert(node);
} else if (node.nodeType === Node.ELEMENT_NODE) {
node.querySelectorAll("img").forEach(img => invert(img));
}
}
}
}
});
observer.observe(document.body, {childList: true, subtree: true});
window.addEventListener("unload", () => observer.disconnect());
document.querySelectorAll("img").forEach(img => invert(img));
}());