Skip to content

Instantly share code, notes, and snippets.

@SteveHere
Last active September 15, 2023 07:03
Show Gist options
  • Save SteveHere/2e6cd82d833156fbd76089732f5429c3 to your computer and use it in GitHub Desktop.
Save SteveHere/2e6cd82d833156fbd76089732f5429c3 to your computer and use it in GitHub Desktop.
Restore Original Blue Bird Twitter Logo - Tampermonkey script
// ==UserScript==
// @name Restore Original Blue Bird Twitter Logo
// @version 0.2
// @namespace https://gist.github.com/SteveHere/2e6cd82d833156fbd76089732f5429c3
// @description Restores the original blue bird Twitter logo (Adapted from https://raw.githubusercontent.com/cygaar/old-twitter)
// @author SteveHere
// @match https://twitter.com/*
// @icon none
// @grant none
// ==/UserScript==
const base64EncodedImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQAgMAAACaKAorAAAACXBIWXMAAAsTAAALEwEAmpwYAAAACVBMVEVHcEwDqfQCqfQiXeLhAAAAA3RSTlMA/4ZtiR+5AAAByUlEQVRYw+2Xv27DIBDGwZIHZ273LpaqPoUfgSEgK5PHPgZdu7tzFg/NU9Z/1HAHB3dSupWbAvoFPr77HBOlatWq9S+rWeyVhWZrrWeYbmXsefv0Wl5oX6oZ4fQLUrQzdgUWA+ef4KA9ILduO8H5Lzh4PiD7GalHIxsKq5gSSceOCBojA+7aQ2n4nTZAEzy2tna4D/oA+dOAdjDJ4VbTm9kjyEV+b3VByjvYUOAAUr5BJnUAijggR0FDnA1/PyntuAb7a5s1MywFoSmFxrgrOAQNmAPQGQcWSOCgXYPOQnMQkYd+m+quBShk6PaRheC5s5CWQIqERkUrL0CdbwXQpRFA1lGQETgQQfoBaFJEnv4Aog1HDxR6tAsQ2ZX4p5zsilWSPClBnpwS5CnOHKk8gVpBMEnPTebNVOoKbcKQvuQWzvCtTjzUCbykLD9LoDGVJLGJ8Cm1iWgeYVPPpYn0wFF3GN4BQrmhoJ4/XLqfV/x+LnP94nXHYTHFG1je71RV9k4okIScMoKFshfInncJLzQKjpYxoFnYLN2+BTGZJQno2CcuXcrzrc2eHy7lvKC5E3Ob3+q9dOd/EzDrjqujF/5PRq1atWo9XD/equsjspFMDgAAAABJRU5ErkJggg==";
document.querySelector("link[rel~='icon']").href = base64EncodedImage;
function waitForElement(selector) {
return new Promise(resolve => {
if (document.querySelector(selector)) return resolve(document.querySelector(selector));
const observer = new MutationObserver(mutations => {
if (document.querySelector(selector)) {
resolve(document.querySelector(selector));
observer.disconnect();
}
});
observer.observe(document.body, { childList: true, subtree: true });
});
}
// Set loading page icon
waitForElement('[aria-label="Loading…"]').then((container) => {
// TODO
container.innerHTML = "";
});
// Set web app icon
waitForElement('[aria-label="X"]').then((elm) => {
const container = elm.children[0];
container.innerHTML = "";
const twitterIcon = document.createElement("img");
twitterIcon.src = base64EncodedImage;
twitterIcon.width = 42;
twitterIcon.height = 42;
container.appendChild(twitterIcon);
});
waitForElement('[aria-label="Verified"]').then((elm) => {
const container = elm.children[0].children[0];
container.innerHTML = "";
const twitterIcon = document.createElement("img");
twitterIcon.src = base64EncodedImage;
twitterIcon.width = 24;
twitterIcon.height = 24;
container.appendChild(twitterIcon);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment