Files
sexy-neptun/pink.js
T

60 lines
1.6 KiB
JavaScript

function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
function waitForElm(selector) {
return new Promise(resolve => {
if (document.querySelector(selector)) {
return resolve(document.querySelector(selector));
}
const observer = new MutationObserver(mutations => {
if (document.querySelector(selector)) {
observer.disconnect();
resolve(document.querySelector(selector));
}
});
// If you get "parameter 1 is not of type 'Node'" error, see https://stackoverflow.com/a/77855838/492336
observer.observe(document.body, {
childList: true,
subtree: true
});
});
}
waitForElm('footer').then((elm) => {
// 0->bgcolor, 1->color, 2->image
const replacements = [
['footer', '#e4007c',0],
['header__main-menu', '#e4007c',0],
['header__title', '#e4007c',1],
['neptun-badge', '#e4007c',0],
['neptun-badge', '#ffffff',1],
['widget__title', '#cc3366',1],
['primary-bg-wrapper', 'https://neptun.bme.hu/oktatoi/App_Themes/Skin_Neptun_Pink/header_right.jpg',2],
];
for (let j = 0; j < replacements.length; j++) {
var items = document.getElementsByClassName(replacements[j][0]);
for (let i = 0; i < items.length; i++) {
switch (replacements[j][2]) {
case 0:
items[i].style.backgroundColor = replacements[j][1];
break;
case 1:
items[i].style.color = replacements[j][1];
break;
case 2:
items[i].style.backgroundImage = 'url(' + replacements[j][1] + ')';
break;
}
}
}
});