Greasy Fork is available in English.

Not Edio

Tired of that logo? Me too! Replace it with something you love. (Does Not work on The Login Page yet)

// ==UserScript==
// @name         Not Edio
// @namespace    http://tampermonkey.net/
// @version      Release-v1
// @description  Tired of that logo? Me too! Replace it with something you love. (Does Not work on The Login Page yet)
// @author       Unknown Hacker
// @license      CC BY-NC
// @match        https://www.myedio.com/*
// @grant        GM_registerMenuCommand
// @grant        GM_setValue
// @grant        GM_getValue
// ==/UserScript==

(function() {
    'use strict';

const originalDesktopSrc = "https://www.myedio.com/assets/img/logo/[email protected]";    const originalMobileSrc = "https://www.myedio.com/assets/img/logo/[email protected]";    const defaultDesktopReplacementSrc = "https://raw.githubusercontent.com/MineverseTutorials/Userscripts/refs/heads/main/images/NotEdio.png";    const defaultMobileReplacementSrc = "";     const defaultFaviconSrc = "";     const defaultTabName = "Not Edio";    let userDesktopLogoSrc = GM_getValue("userDesktopLogoSrc", defaultDesktopReplacementSrc);    let userMobileLogoSrc = GM_getValue("userMobileLogoSrc", defaultMobileReplacementSrc);    let userFaviconSrc = GM_getValue("userFaviconSrc", defaultFaviconSrc);    let userTabName = GM_getValue("userTabName", defaultTabName);    let customTextReplacement = GM_getValue("customTextReplacement", "Edio");    function isValidIcoUrl(url) {        return /\.ico$/i.test(url);    }    function updateDesktopLogoSrc() {        const userInput = prompt("Enter the URL for your custom opened sidebar logo:", userDesktopLogoSrc);        if (userInput && /\.(jpeg|jpg|png|svg|gif|webp)$/i.test(userInput)) {            GM_setValue("userDesktopLogoSrc", userInput);            userDesktopLogoSrc = userInput;            location.reload();        } else if (userInput) {            alert("Invalid image URL! Please enter a valid image link (e.g., .png, .jpg, .svg).");        }    }    function resetDesktopLogoSrc() {        GM_setValue("userDesktopLogoSrc", defaultDesktopReplacementSrc);        userDesktopLogoSrc = defaultDesktopReplacementSrc;        location.reload();    }    function updateMobileLogoSrc() {        const userInput = prompt("Enter the URL for your custom closed sidebar logo:", userMobileLogoSrc);        if (userInput && /\.(jpeg|jpg|png|svg|gif|webp)$/i.test(userInput)) {            GM_setValue("userMobileLogoSrc", userInput);            userMobileLogoSrc = userInput;            location.reload();        } else if (userInput) {            alert("Invalid image URL! Please enter a valid image link (e.g., .png, .jpg, .svg).");        }    }    function resetMobileLogoSrc() {        GM_setValue("userMobileLogoSrc", defaultMobileReplacementSrc);        userMobileLogoSrc = defaultMobileReplacementSrc;        location.reload();    }    function updateFaviconSrc() {        const userInput = prompt("Enter the URL for your custom tab icon (favicon - must be .ico):", userFaviconSrc);        if (userInput && isValidIcoUrl(userInput)) {            GM_setValue("userFaviconSrc", userInput);            userFaviconSrc = userInput;            updateFavicon();        } else if (userInput) {            alert("Invalid icon URL! Please enter a valid .ico file URL.");        }    }    function resetFaviconSrc() {        GM_setValue("userFaviconSrc", defaultFaviconSrc);        userFaviconSrc = defaultFaviconSrc;        updateFavicon();    }    function updateTabName() {        const userInput = prompt("Enter the new name for the tab:", userTabName);        if (userInput) {            GM_setValue("userTabName", userInput);            userTabName = userInput;            document.title = userTabName;        }    }    function resetTabName() {        GM_setValue("userTabName", defaultTabName);        userTabName = defaultTabName;        document.title = userTabName;        location.reload();    }    function updateTextReplacement() {        const userInput = prompt('Enter the text to replace all mentions of "Edio":', customTextReplacement);        if (userInput) {            GM_setValue("customTextReplacement", userInput);            customTextReplacement = userInput;            replaceTextOnPage();            location.reload();        }    }    function resetTextReplacement() {        GM_setValue("customTextReplacement", "Edio");        customTextReplacement = "Edio";        replaceTextOnPage();        location.reload();    }    function replaceTextOnPage() {        const elements = document.querySelectorAll("*:not(script):not(style):not(meta)");        elements.forEach(element => {            if (element.childNodes.length) {                element.childNodes.forEach(node => {                    if (node.nodeType === Node.TEXT_NODE) {                        node.textContent = node.textContent.replace(/Edio/g, customTextReplacement);                              location.reload();                    }                });            }        });    }    function updateFavicon() {        if (userFaviconSrc) {            let favicon = document.querySelector("link[rel*='icon']") || document.createElement("link");            favicon.type = "image/x-icon";            favicon.rel = "icon";            favicon.href = userFaviconSrc;            document.head.appendChild(favicon);        }    }    function replaceLogo() {        document.querySelectorAll("img").forEach(img => {                        if (img.src === originalDesktopSrc && userDesktopLogoSrc) {                img.src = userDesktopLogoSrc;            }                        if (img.src === originalMobileSrc && userMobileLogoSrc) {                img.src = userMobileLogoSrc;            }                        if (img.src === userDesktopLogoSrc || img.src === userMobileLogoSrc) {                img.style.borderRadius = "8px";                img.style.transition = "border-radius 0.2s ease-in-out";                img.addEventListener("mouseenter", () => { img.style.borderRadius = "3px"; });                img.addEventListener("mouseleave", () => { img.style.borderRadius = "8px"; });            }        });    }    GM_registerMenuCommand("Set Custom Opened Sidebar Logo", updateDesktopLogoSrc);    GM_registerMenuCommand("Reset Opened Sidebar to Default", resetDesktopLogoSrc);    GM_registerMenuCommand("Set Closed Sidebar Logo", updateMobileLogoSrc);    GM_registerMenuCommand("Reset Closed Sidebar to Default", resetMobileLogoSrc);    GM_registerMenuCommand("Set Tab Icon (Favicon)", updateFaviconSrc);    GM_registerMenuCommand("Reset Tab Icon to Default", resetFaviconSrc);    GM_registerMenuCommand("Set Tab Name", updateTabName);    GM_registerMenuCommand("Reset Tab Name", resetTabName);    GM_registerMenuCommand('Replace "Edio" Text', updateTextReplacement);    GM_registerMenuCommand('Reset "Edio" Text', resetTextReplacement);    const observer = new MutationObserver(mutations => {        for (const mutation of mutations) {            if (mutation.type === "childList" || mutation.type === "attributes") {                replaceLogo();                replaceTextOnPage();            }        }    });    observer.observe(document.body, { childList: true, subtree: true, attributes: true });    replaceLogo();    updateFavicon();    document.title = userTabName;    replaceTextOnPage();
  
})();