// ==UserScript== // @name Shirley Theme Overhaul // @namespace http://tampermonkey.net/ // @version 0.2 // @description A theme for the shirley portal. // @author You // @match https://shirley.instructure.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=instructure.com // @license MIT // @grant none // @grant GM_addStyle // @downloadURL https://update.greasyfork.icu/scripts/439705/Shirley%20Theme%20Overhaul.user.js // @updateURL https://update.greasyfork.icu/scripts/439705/Shirley%20Theme%20Overhaul.meta.js // ==/UserScript== function getFirstClass(className) { return document.getElementsByClassName(className)[0]; } (function() { 'use strict'; var cssAppend = document.createElement('link'); cssAppend.setAttribute("rel", "stylesheet"); cssAppend.setAttribute("href", "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"); cssAppend.setAttribute("integrity", "sha512-Fo3rlrZj/k7ujTnHg4CGR2D7kSs0v4LLanw2qksYuRlEzO+tcaEPQogQ0KaoGN26/zrn20ImR1DfuLWnOo7aBA=="); cssAppend.setAttribute("crossorigin", "anonymous"); cssAppend.setAttribute("referrerpolicy", "no-referrer"); document.head.appendChild(cssAppend); onLoad(); function onLoad() { var overhaulPanel = document.createElement('div'); overhaulPanel.innerHTML = `

Thank you for installing S-Overhaul.

Designed by Nico Cook



Overhaul Theme Picker

Made by Nico Cook

` document.body.insertBefore(overhaulPanel, document.body.firstChild); var sidebarButtonWrapper = document.createElement('div'); sidebarButtonWrapper.innerHTML = ` `; sidebarButtonWrapper.setAttribute("title", "Open the Overhaul Menu"); sidebarButtonWrapper.classList.add("overhaulButtonWrapper"); sidebarButtonWrapper.setAttribute("onmousedown", "document.getElementById(\"overhaulPanelWrapper\").style.transform = \"translateX(0)\""); document.getElementsByClassName("ic-app-header__main-navigation")[0].appendChild(sidebarButtonWrapper); var menuButtonWrapper = document.createElement('a'); menuButtonWrapper.setAttribute("style", "cursor:pointer"); menuButtonWrapper.innerText = "Overhaul Menu"; menuButtonWrapper.setAttribute("mousedown", "document.getElementById(\"overhaulPanelWrapper\").style.transform = \"translateX(0)\""); try { document.getElementById("footer-links").insertBefore(menuButtonWrapper, document.getElementById("footer-links").firstChild); } catch (error) { } var panelWrapper = document.getElementById("overhaulPanelWrapper"); var bgColorPicker = document.getElementById("overhaulThemePicker"); var globalRootDefining = document.createElement('style'); globalRootDefining.id = "globalOverhaulRootTheme"; document.onload = loadTheme(); document.getElementById("overhaulThemePicker").value = localStorage.getItem("overhaulTheme") function day_1020() { globalRootDefining.innerHTML = ` :root { --ic-link-color: #8b93b2; --ic-brand-primary: #b081ac; --ic-brand-global-nav-bgd: #7092aa; --eHiXd-linkColor: #737149; } .ic-Dashboard-header__layout { border-radius: 10px; } .ic-DashboardCard { box-shadow: 0 2px 5px rgb(0 26 255 / 30%); } .hidden-phone { margin-left: 10px; color: #bed599; } #dashboard { border-radius: 10px; background-color: #e3e3ff; overflow: hidden; padding: 20px; margin-top: -3px; } .ic-app-footer__links a { color: #6ea9d3; } .Button--icon-action-rev { color: #45d3ff; filter: drop-shadow(0 0 5px black); } #right-side-wrapper { border-radius: 20px; background-color: #ffe8cc; margin: 20px; } .ic-app-header__logomark-container { display: none; } .button-sidebar-wide { background: #dfc7a0; border-radius: 7px; color: white; border: none; transition: 0.2s; z-index: 5 !important; } .ic-DashboardCard { border-radius: 10px; padding: 20px; transition: transform 0.5s ease, padding 0.5s ease; } .ic-DashboardCard:hover .ic-DashboardCard__header_hero { border-radius: 40px; } .ic-DashboardCard:hover .ic-DashboardCard__header_image { border-radius: 40px; } .ic-DashboardCard:hover { padding: 30px; overflow: hidden; } .ic-DashboardCard__header_content { height: 100px; } .ic-DashboardCard__header_hero { border-radius: 30px; overflow: hidden; background: transparent; filter: none; background: radial-gradient(transparent, #7c8ecd) !important; opacity: 0.4; transition: border-radius 0.5s ease; } .ic-DashboardCard__header-title { color: grey !important; } .ic-DashboardCard__header_image { border-radius: 30px; overflow: hidden; filter: none; transition: border-radius 0.5s ease; } .button-sidebar-wide:hover { background-color: #ffc797; } ` document.body.appendChild(globalRootDefining); } function night_1020() { globalRootDefining.innerHTML = ` :root { --ic-link-color: #4a3f6b; --ic-brand-primary: #6b8ec4; --ic-brand-global-nav-bgd: #404040; --eHiXd-linkColor: #ffffff; } .ic-Dashboard-header__layout { border-radius: 10px; } .ic-DashboardCard { background-color: #f1e6ff; box-shadow: 0 2px 5px rgb(0 26 255 / 30%); } .ic-DashboardCard__header_content { background-color: transparent; } .hidden-phone { margin-left: 10px; color: #7a557a; } #courseMenuToggle { color: rgba(0, 0, 0, 0.4); margin-bottom: 5px; } .ellipsible { color: rgba(0, 0, 0, 0.4); } #dashboard { border-radius: 10px; background-color: #6a6a7c; overflow: hidden; padding: 20px; margin-top: -3px; } .ic-app-footer__links a { color: #6ea9d3; } .Button--icon-action-rev { color: #ffffff; filter: drop-shadow(0 0 5px black); } #right-side-wrapper { border-radius: 20px; background-color: #b4c8cd; margin: 20px; } .ic-app-header__logomark-container { display: none; } #menu { background-color: #46475e; } .button-sidebar-wide { background: #687476; border-radius: 7px; color: white; border: none; transition: 0.2s; z-index: 5 !important; } img { color: grey; } .ic-DashboardCard { border-radius: 10px; padding: 20px; transition: transform 0.5s ease, padding 0.5s ease; } .ic-DashboardCard:hover .ic-DashboardCard__header_hero { border-radius: 40px; } .ic-DashboardCard:hover .ic-DashboardCard__header_image { border-radius: 40px; } .ic-DashboardCard:hover { padding: 30px; overflow: hidden; } .ic-DashboardCard__header_content { height: 100px; } .ic-DashboardCard__header_hero { border-radius: 30px; overflow: hidden; background: transparent; filter: none; background: radial-gradient(transparent, #7c8ecd) !important; opacity: 0.4; transition: border-radius 0.5s ease; } .ic-DashboardCard__header_image { border-radius: 30px; overflow: hidden; filter: none; transition: border-radius 0.5s ease; } .button-sidebar-wide:hover { background-color: #7f7e9d; } ` document.body.appendChild(globalRootDefining); } function open_era() { globalRootDefining.innerHTML = ` :root { --ic-link-color: #000000; --ic-brand-primary: #d1d1d1; --ic-brand-global-nav-bgd: #5e6f81; --eHiXd-linkColor: #ffffff; } .ic-Dashboard-header__layout { border-radius: 10px; } .ic-DashboardCard { box-shadow: 0 2px 5px rgb(0 0 0 / 30%); } .hidden-phone { margin-left: 10px; color: #bed599; } #dashboard { border-radius: 35px; background-color: #9f9f9f1c; overflow: hidden; padding: 50px; margin-top: -3px; } .ic-app-footer__links a { color: #6ea9d3; } .Button--icon-action-rev { color: #45d3ff; } #right-side-wrapper { border-radius: 61px; background-color: #b3b4cb0d; margin: 17px; } .ic-app-header__logomark-container { display: none; } .button-sidebar-wide { background: #8e93b1; border-radius: 7px; color: white; border: none; transition: 0.2s; z-index: 5 !important; } .ic-DashboardCard { border-radius: 10px; padding: 10px; transition: transform 0.5s ease, padding 0.5s ease; } .ic-DashboardCard:hover .ic-DashboardCard__header_hero { border-radius: 5px; } .ic-DashboardCard:hover .ic-DashboardCard__header_image { border-radius: 5px; } .ic-DashboardCard:hover { padding: 20px; overflow: hidden; } .ic-DashboardCard__header_hero { border-radius: 0px; overflow: hidden; background: transparent; filter: none; background: radial-gradient(transparent, #7c8ecd) !important; opacity: 0.4; transition: border-radius 0.5s ease; } .ic-DashboardCard__header_image { border-radius: 0px; overflow: hidden; filter: none; transition: border-radius 0.5s ease; } .button-sidebar-wide:hover { background-color: #aaa9d1; } li { color: grey !important; } span { color: grey !important; } h2 { color: grey !important; } small { color: grey !important; } ` document.body.appendChild(globalRootDefining); } function asa_square() { globalRootDefining.innerHTML = ` :root { --ic-link-color: #000000; --ic-brand-primary: #d1d1d1; --ic-brand-global-nav-bgd: #b2b2b2; --eHiXd-linkColor: #ffffff; } .ic-Dashboard-header__layout { } .ic-DashboardCard { box-shadow: 0 2px 5px rgb(0 0 0 / 30%); } .hidden-phone { margin-left: 10px; color: #bed599; } #dashboard { background-color: #72a3974d; overflow: hidden; padding: 50px; margin-top: -3px; } .ic-app-footer__links a { color: #6ea9d3; } .Button--icon-action-rev { color: #45d3ff; } #right-side-wrapper { background-color: #b3b4cb2e; margin: 17px; } .ic-app-header__logomark-container { display: none; } .button-sidebar-wide { background: #8e93b1; color: white; border: none; transition: 0.2s; z-index: 5 !important; } .ic-DashboardCard { padding: 10px; transition: transform 0.5s ease, padding 0.5s ease; } .ic-DashboardCard:hover .ic-DashboardCard__header_hero { } .ic-DashboardCard:hover .ic-DashboardCard__header_image { } .ic-DashboardCard__header_hero { overflow: hidden; background: transparent; filter: none; background: radial-gradient(transparent, #7c8ecd) !important; opacity: 0.4; transition: border-radius 0.5s ease; } .ic-DashboardCard__header_image { overflow: hidden; filter: none; } .button-sidebar-wide:hover { background-color: #aaa9d1; } li { color: black !important; } span { color: black !important; } h2 { color: black !important; } small { color: darkgrey !important; } body * { box-shadow: none !important; text-shadow: none !important; border: none !important; outline: none !important; } ` document.body.appendChild(globalRootDefining); } function shades_of_dim() { globalRootDefining.innerHTML = ` :root { --ic-link-color: #474747; --ic-brand-primary: #444444; --ic-brand-global-nav-bgd: #6a6a6a; --eHiXd-linkColor: #3d3d3d; } .ic-Dashboard-header__layout { border-radius: 10px; } .ic-DashboardCard { box-shadow: 0 2px 5px rgb(0 26 255 / 30%); } .ic-DashboardCard__header-subtitle { text-decoration: none !important; } .ic-DashboardCard__header-subtitle::after { display: none !important; } .ic-DashboardCard__header-title span { color: #525252 !important; } .hidden-phone { margin-left: 10px; color: white; } .ic-notification__content { background: #cdcdcd !important; } #DashboardOptionsMenu_Container span button { color: white; } #dashboard { border-radius: 10px; background-color: #9d9d9d; overflow: hidden; padding: 20px; margin-top: -3px; } .ic-app-footer__links a { color: #6ea9d3; } .Button--icon-action-rev { color: #d1d1d1; filter: drop-shadow(0 0 5px lightgrey); } #right-side-wrapper { border-radius: 5px; background-color: #cfcfcf; margin: 20px; } .ic-app-header__logomark-container { display: none; } .button-sidebar-wide { background: #8f8f8f; border-radius: 7px; color: white; border: none; transition: 0.2s; z-index: 5 !important; } #footer-links a { color: grey !important; } .button-sidebar-wide:hover { background-color: #b9b9b9; } .ic-DashboardCard { border-radius: 5px; padding: 20px; background: #dbdbdb; box-shadow: 0 2px 5px rgb(66 66 66 / 30%); transition: transform 0.5s ease, padding 0.5s ease; } .ic-DashboardCard:hover .ic-DashboardCard__header_hero { border-radius: 5px; } .ic-DashboardCard:hover .ic-DashboardCard__header_image { border-radius: 5px; } .ic-DashboardCard__header_content { height: 100px; background: transparent; } .ic-Dashboard-header__layout { background: rgb(187 187 187 / 95%); border-bottom: none !important; } .ic-DashboardCard__header_hero { border-radius: 5px; overflow: hidden; background: transparent; filter: none; background: radial-gradient(transparent, #7c8ecd) !important; opacity: 0.4; transition: border-radius 0.5s ease; } .ic-DashboardCard__header-title { color: grey !important; } .Button--primary { background: #303030 !important; } .ic-DashboardCard__header_image { border-radius: 5px; overflow: hidden; filter: none; transition: border-radius 0.5s ease; } ` document.body.appendChild(globalRootDefining); } function default_overhaul() { globalRootDefining.innerHTML = ` .ic-Dashboard-header__layout { border-radius: 10px; } .ic-DashboardCard__header-subtitle { text-decoration: none !important; } .ic-DashboardCard__header-subtitle::after { display: none !important; } .hidden-phone { margin-left: 10px; } #dashboard { overflow: hidden; padding: 5px; margin-top: -3px; } #right-side-wrapper { margin: 20px; } .ic-app-header__logomark-container { display: none; } .button-sidebar-wide { border-radius: 7px; border: none; transition: 0.2s; z-index: 5 !important; } .ic-DashboardCard { border-radius: 5px; padding: 7px; transition: transform 0.5s ease, padding 0.5s ease; } .ic-DashboardCard:hover .ic-DashboardCard__header_hero { border-radius: 5px; } .ic-DashboardCard:hover .ic-DashboardCard__header_image { border-radius: 5px; } .ic-DashboardCard__header_content { height: 100px; } .ic-DashboardCard__header_hero { border-radius: 5px; overflow: hidden; filter: none; transition: border-radius 0.5s ease; } .ic-DashboardCard__header_image { border-radius: 5px; overflow: hidden; filter: none; transition: border-radius 0.5s ease; } ` document.body.appendChild(globalRootDefining); } function loadTheme() { switch (localStorage.getItem("overhaulTheme")) { case "1020-day": day_1020(); break; case "1020-night": night_1020(); break; case "open-era": open_era(); break; case "asa-square": asa_square(); break; case "shades-of-dim": shades_of_dim(); break; case "default-overhaul": default_overhaul(); break; default: var rem = document.getElementById("globalOverhaulRootTheme"); if (!rem) { break; } rem.parentNode.removeChild(rem); break; } } document.getElementById('overhaulThemePicker').onchange = (() => {localStorage.setItem('overhaulTheme', document.getElementById('overhaulThemePicker').value); document.getElementById("overhaulPanelWrapper").style.transform = "translateX(-100vw)"; loadTheme()}); var removeDefaultFooter = document.createElement("style"); removeDefaultFooter.innerHTML =` .footer-logo { display: none !important; opacity: 0 !important; }` document.body.insertBefore(removeDefaultFooter, document.body.firstChild); var logoNebulaDev = document.createElement("div"); logoNebulaDev.setAttribute("style", "cursor: pointer; display: flex; height: 50px; align-items: center;") logoNebulaDev.onmousedown = (() => {location.href = "https://github.com/nebula-developer";}) logoNebulaDev.innerHTML = `

Made by Nico Cook

` try { document.getElementById("footer").insertBefore(logoNebulaDev, document.getElementById("footer").firstChild); } catch (error) { } } })();