Better-Devinci

A better leonard-de-vinci portal

当前为 2023-06-28 提交的版本,查看 最新版本

// ==UserScript==
// @name        Better-Devinci
// @namespace   Violentmonkey Scripts
// @match       https://www.leonard-de-vinci.net/*
// @license     GNU GPLv3
// @version     1.0
// @author      loliprane
// @description A better leonard-de-vinci portal
// ==/UserScript==

//localstorage setup
if(localStorage.getItem("Hide_Slider")==null){
  localStorage.setItem("Hide_Slider","False")
}

if(localStorage.getItem("Number_Message_read")==null){
  localStorage.setItem("Number_Message_read","0")
}
//end of localstorage setup

//every page setup
var StudentLanguageFR = document.querySelector('img[src*="/images/flags/"]').currentSrc.includes("fr.png")
document.querySelector('html').style.height="0px" //remove the scrollbar when not necessary
document.querySelector('#footer').remove() // remove the unecessary footer

if(document.querySelector('.UD_messages_new').innerText==localStorage.getItem("Number_Message_read")){
  document.querySelector('.UD_messages_new').remove()
  document.querySelector(".UD_messages_new",".strong").innerText=0
}
else{
  var MessageRead_Button = document.createElement("button");
  MessageRead_Button.id = "Slider_Button";
  MessageRead_Button.textContent = "Show Messages as read";
  MessageRead_Button.style.color= 'red'
  document.querySelector(".nav-messages-header").append(MessageRead_Button)

  MessageRead_Button.addEventListener("click", function() {
    localStorage.setItem("Number_Message_read",document.querySelector('.UD_messages_new').innerText)
    document.querySelector('.UD_messages_new').remove()
  })
}
//end of every page setup

var Marks= function() {
  const Semestre = document.querySelectorAll(".dd-item");

  const SemestreFiltered = Array.from(Semestre).filter(element => {
    return element.classList.contains("dd-item") && element.classList.length === 1;
  });
  SemestreFiltered.forEach((Parent) =>{
    var Pullright_class=Parent.children[0].children[0]
    Pullright_class.style.fontSize='20px'
    Pullright_class.style.color='red'
    Pullright_class.innerText= "-"
    Parent.children[0].addEventListener("click", function() {
      if(Pullright_class.innerText== "-"){
        Pullright_class.innerText= "+"
      }
      else{
        Pullright_class.innerText= "-"
      }

      Array.from(Parent.children).forEach((Child) => {
        if(Child.classList.value.includes('dd-list hide')){
          Child.classList.value = 'dd-list'
        }
        else if (Child.classList.value.includes('dd-list')){
          Child.classList.value = 'dd-list hide'
        }
      })
    })
  })

  const Module = document.querySelectorAll(".dd-unite-student");

  Module.forEach((Parent) =>{
    var span = document.createElement("span");
    span.className = "UwU";
    span.textContent = "ㅤㅤㅤㅤ-";
    span.style.fontSize='20px'
    span.style.color='purple'
    Parent.children[0].querySelector(".pull-right").appendChild(span)

    Parent.children[0].addEventListener("click", function() {
      if(Parent.children[0].querySelector(".UwU").innerText== "ㅤㅤㅤㅤ-"){
        Parent.children[0].querySelector(".UwU").innerText= "ㅤㅤㅤㅤ+"
      }
      else{
        Parent.children[0].querySelector(".UwU").innerText= "ㅤㅤㅤㅤ-"
      }

      Array.from(Parent.children).forEach((Child) => {
        if(Child.classList.value.includes('dd-list hide')){
          Child.classList.value = 'dd-list'
        }
        else if (Child.classList.value.includes('dd-list')){
          Child.classList.value = 'dd-list hide'
        }
      })
    })
  })
}

var Message= function(){
  const MessageContainer = document.querySelector("#main").children[2]
  if(MessageContainer.children.length==0){
    if(StudentLanguageFR){
      MessageContainer.innerHTML += "<div>Toujours pas réparé... (Regardez vos mail pour les infos ici)</div>"
    }
    else{
      MessageContainer.innerHTML += "<div>They still didn't fix this... (Check your mail for info here)</div>"
    }
  }
}


var MainPage= function(){

  const Body = document.querySelector(".body")

  var SliderButton = document.createElement("button");
  SliderButton.id = "Slider_Button";
  SliderButton.textContent = "Hide";
  Body.parentElement.parentElement.prepend(SliderButton);

  var SliderContainer=Body.parentElement

  if(localStorage.getItem("Hide_Slider")=="True"){
    SliderButton.innerHTML="Show"
    SliderContainer.className+=' hide'
  }

  SliderButton.addEventListener("click", function() {
    if(localStorage.getItem("Hide_Slider")=="False"){
      SliderButton.innerHTML="Show"
      SliderContainer.className+=' hide'
      localStorage.setItem("Hide_Slider","True")
    }
      else{
      SliderButton.innerHTML="Hide"
      SliderContainer.className=SliderContainer.className.replace(" hide","")
      localStorage.setItem("Hide_Slider","False")
    }
  })
}

var CheckPage= function(){
  if(location.href == "https://www.leonard-de-vinci.net/"){
    MainPage()
  }
  else if(location.href == "https://www.leonard-de-vinci.net/?my=marks"){
    Marks()
  }
  else if(location.href.includes("https://www.leonard-de-vinci.net/?my=msg")){
    Message()
  }
}





window.addEventListener('load', function() {
  CheckPage()
});