您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Removal of elements not required for navigation. Modernisation of the interface
// ==UserScript== // @name Better Gandalf Interface // @namespace http://tampermonkey.net/ // @version 2024-03-04 // @description Removal of elements not required for navigation. Modernisation of the interface // @author Arthur Decaen // @match https://gandalf.epitech.eu/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // ==/UserScript== var CURRENT_STYLE_DIV = "" function getStyle(theme) { return ` .sectionname { border-radius: 8px; margin-top: 5px; } .containerLinks, .section.main { border-radius: 8px !important; box-shadow: 0px 5px 5px rgba(0,0,0,0.12); margin-top: 15px !important; margin-bottom: 15px !important; padding-top: 10px; padding-bottom: 10px; background-color: ${theme == "light" ? "#f2f3f5" : "#2b2d31"} !important; } ${theme == "light" ? "" : "*:not(.fa) { color: rgb(184,184,184) !important; }"} #region-main { border-radius: 8px; box-shadow: 0px 5px 5px rgba(0,0,0,0.12); background-color: ${theme == "light" ? "#ffffff" : "#232428"}; } .pagelayout-mydashboard #region-main { box-shadow: none; } .block { border-radius: 8px !important; box-shadow: 0px 5px 5px rgba(0,0,0,0.12) !important; border: none !important; } .section-summary-activities.mdl-right { height: 20px; padding-right: 10px; } #page>.container { background-color: ${theme == "light" ? "#f2f3f5" : "#313338"} !important; } #page-footer { display: none; } #main-navbar { background-color: ${theme == "light" ? "#e3e5e8" : "#1e1f22"} !important; border: none !important; box-shadow: 0px 5px 5px rgba(0,0,0,0.12); } .zoomdesc { display: none; } #page-navbar { border-radius: 8px; box-shadow: 0px 5px 5px rgba(0,0,0,0.05); background-color: ${theme == "light" ? "#ffffff" : "#1e1f22"}; margin-top: 20px !important; } .container.outercont .row:first-child { display: flex; justify-content: left; } #adaptable-page-header-wrapper { background: ${theme == "light" ? "#e3e5e8" : "#1e1f22"} !important; } a[title="Epitech Gandalf Platform"] img { filter: invert(${theme == "light" ? "100%" : "30%"}); } #block-region-side-post { padding-right: 0; } #sitetitle h1 { color: ${theme == "light" ? "black" : "rgb(184,184,184)"} !important; } .search-box, .search-box input { border-radius: 10px !important; } #completionprogressid { display: none; } #section-0 { margin-top: 0 !important; } .card-text.calendarwrapper { padding-left: 15px !important; padding-right: 15px !important; } .userpicture { border-radius: 20px !important; box-shadow: 0px 5px 5px rgba(0,0,0,0.2); } .courses.category-browse.category-browse-3 .coursebox { margin-top 10px; margin-bottom: 10px; } .collapsible-actions { margin: 0 !important; padding-right: 25px !important; } body { background: ${theme == "light" ? "#f2f3f5" : "#2b2d31"} !important; } .skillProgressContainer { border-radius: 5px; overflow: hidden; box-shadow: 0px 2px 5px rgba(0,0,0,0.05); height: 22px; border: solid rgba(175,175,175,0.6) 1px; } .dateModifiedContainer { display: flex; justify-content: flex-end; flex-direction: column; margin-bottom: 5px; } .dateModifiedContainer p { margin-bottom: 0; } div.activity-wrapper { border: none !important; } .switchTheme { border: none; background: none; font-size: 1.3rem; transition: rotate .2s ease-in-out; } .switchTheme:hover { rotate: -10deg; } .switchThemeLi { display: flex; padding-left: 5px; padding-right: 5px; } [data-region="empty-message"] { background: ${theme == "light" ? "#ffffff" : "#232428"}; } .card.dashboard-card { border-radius: 8px; overflow: hidden; ${theme == "light" ? "background: #e3e5e8 !important;" : "border: none;"} margin-bottom: 10px; margin-top: 10px; } ${theme == "light" ? "" : ".course-info-container { background: #383a3f; }"} .dashboard-card-footer { ${theme == "light" ? "" : "background: #383a3f !important;"} padding: 0 !important; } .dashboard-card-footer .progress { border-radius: 0 0 8px 8px; overflow: hidden; border: none !important; height: 15px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; background: ${theme == "light" ? "#f1f1f1" : "#4e5058"} !important; } .dashboard-card-footer .small { display: none; } .pagination li a { background: ${theme == "light" ? "#e3e5e8" : "#515151"} !important; border: none !important; border-radius: 5px; } .pagination li:first-child { margin-right: 10px; } .eventlist .card { border-radius: 8px !important; overflow: hidden; } .btn.btn-secondary { border: none; } .card-header.calendar_event_course { border: none; margin-top: 0; } .eventlist .card .card-footer { display: none; } .generalbox { border-radius: 8px; } .dropdown-menu { overflow: visible !important; } .modal-header.close { padding-left: 10px; } .modal-dialog { border-radius: 8px; overflow: hidden; } .modal.show { display: flex; justify-content: center; align-items: center; backdrop-filter: blur(10px); } .modal-header.close { padding-left: 10px; } ${theme == "light" ? "" : `.block>.content { background: none; } .block { background: #232428 !important; } .block .header { background: none; } .bg-white { background: #b8b8b8 !important; } .section li.modtype_assign div.activity-wrapper { background-color: #404249 !important; border: none !important; } .nav-link.active { background: #232428 !important; } .resultGraphs.active { background: #232428 !important; } .styleSkill:nth-child(even) { background: #383a3f !important; } .skillProgressContainer { background: #383a3f; } .dropdown-item, .dropdown-menu { background: #383a3f; } .dropdown-item:hover, .dropdown-toggle:hover { background-color: #1e1f22 !important; } .dropdown-menu { border-radius: 8px !important; box-shadow: 0px 10px 0px rgba(0,0,0,0.2); } .frontpage-course-list-enrolled .coursebox { background: #383a3f !important; border: 5px solid #232428; } .eventlist .card { background: #383a3f; } .btn.btn-secondary { background: #515151; border: none; } .card-header.calendar_event_course { background: #54565d; } .generalbox { background: #313338 !important; } .submissionnotgraded { background: #313338 !important; } .modal-dialog .modal-content { background-color: #393a3f !important; } .courses .coursebox { background: #383a3f !important; } .links .linkDiv button img { filter: invert(70%); } ` } ` } function switchStyle() { var styleState = localStorage.getItem("betterGandalfInterfaceTheme") ?? "light" styleState = styleState == "light" ? "dark" : "light" const styles = getStyle(styleState) CURRENT_STYLE_DIV.remove() CURRENT_STYLE_DIV = document.createElement("style") CURRENT_STYLE_DIV.innerText = styles document.head.appendChild(CURRENT_STYLE_DIV) localStorage.setItem("betterGandalfInterfaceTheme", styleState) const icon = document.querySelector("#switchThemeIcon") icon.innerHTML = styleState == "light" ? "🌙" : "☀️" } (function() { 'use strict'; // Remove forum wrapper const forums = document.querySelectorAll(".activity.forum.modtype_forum") forums.forEach((forum) => forum.remove()) // Style var styleState = localStorage.getItem("betterGandalfInterfaceTheme") ?? "light" const styles = getStyle(styleState) CURRENT_STYLE_DIV = document.createElement("style") CURRENT_STYLE_DIV.innerText = styles document.head.appendChild(CURRENT_STYLE_DIV) const rightNavBar = document.querySelector(".navbar-nav.ml-auto:not(.my-auto)"); rightNavBar.innerHTML += ` <li class="nav-item mr-1 hbl switchThemeLi"> <button class="switchTheme" id="switchThemeIcon">${styleState == "light" ? "🌙" : "☀️"}</button> </li> ` const icon = document.querySelector("#switchThemeIcon") icon.addEventListener("click", switchStyle) })();