// ==UserScript== // @name New MangaDex Follows // @namespace https://greasyfork.org/scripts/430295-new-mangadex-follows // @version 1.1.3 // @description Manage your follows // @author Australis // @match https://mangadex.org/* // @icon https://www.google.com/s2/favicons?domain=mangadex.org // @grant none // @downloadURL none // ==/UserScript== if(localStorage.getItem("seriesdex") == null) seriesdex = [] else seriesdex = JSON.parse(localStorage.getItem("seriesdex")) var classChapter = "flex chapter" //class of the elements containing the chapters var classFeed = "chapter-feed__chapters-list" //class containing the chapter cluster var grouptagclass = "group-tag line-clamp-1 -my-1" var newStyle = newInner("style","text/css",".hideme {\ndisplay: none;\n}") document.querySelector("head").append(newStyle) var filter = JSON.parse(localStorage.getItem("filter")) if(filter == undefined || filter == null) { console.log("filter: "+JSON.stringify(filter)) filter = true localStorage.setItem("filter",JSON.stringify(filter)) } whitelist = [] blacklist = [] function GetNumero(text){ for(let t of text.split(" ")){ console.log(t) if((t*1)>0) return t*1 } return NaN } function ScriptForm(){ if(document.URL.includes("https://mangadex.org/titles/feed") && !document.getElementById("script_btn")){ console.log("executing ScriptForm") var options_loc = "flex items-center mb-4" if(/*!document.getElementById("script_btn") && */document.getElementsByClassName(options_loc).length){ var newButton = newInner("div","",'×' let series = '
') document.getElementsByClassName(options_loc)[0].append(newButton.children[0]) document.getElementsByClassName(options_loc)[0].append(newButton.children[0]) console.log("form added") } else setTimeout(ScriptForm,500) } } window.NMDF = function(){ var daBody = document.getElementById("script_body") document.getElementById("filter").checked = filter if(daBody.style.display == "none"){ daBody.style.display = "block" } else{ daBody.style.display = "none" } } var unchecked = true window.NMDFilter = function(event){ var daElement = event.target.parentElement.parentElement var daModal = document.getElementById("daModal") let ttext,ctext let gtext = [] let glink = [] let bgg = false let id = getID(daElement) let daSeries = seriesdex[FS(seriesdex,id)] for(let link of daElement.getElementsByTagName("a")){ if(link.innerText != ""){ if(link.href.includes("/title/")) ttext = link.innerText.replaceAll("\n","") if(link.href.includes("/group/")) { console.log(link) if(!gtext.includes(link.innerText.replaceAll("\n",""))){ gtext.push(link.innerText.replaceAll("\n","")) glink.push(link.href) } } } } let gtags = document.getElementsByClassName("flex items-center")[1] if(gtags.innerText.includes("No Group") && gtags.getElementsByTagName("i").length){ gtext.push("No Group") glink.push("0/0/0/0/0/0") } console.log(gtext) console.log(glink) if(!daModal) createModal() let closebutton = 'SERIES NAME: '+ttext+'
' let lastext = daSeries.last let nextext = daSeries.nextc if(lastext == -10 || lastext == "-10") { lastext = "Not registered" nextext = "Not registered" } let last = 'Last chapter read: '+daSeries.last+'
' if(nextext == 10000) nextext = "Up to date" let next = 'Next chapter: '+nextext+'
' let groups = 'Groups:
' let daTable = 'Name | ID | Whitelisted | Blacklisted | '+gtext[w]+' | '+gid+' | ' } daTable+=" |
---|