1
0
Fork 0
cookiedb/userscripts/thalia-filter.ts

46 Zeilen
1.2 KiB
TypeScript

import {trie} from "./thalia_lib.ts"
function titel(book: HTMLElement) {
return book.getElementsByClassName(
"element-text-standard-black tm-artikeldetails__titel",
)[0].innerHTML.toLowerCase();
}
function clean() {
const books: HTMLCollectionOf<HTMLElement> = document.getElementsByClassName(
"tm-produktliste__eintrag artikel",
);
const not_found: string[] = [];
let removed = 0;
for (const book of books) {
if (book === null) continue;
if (book.style.display == "none") {
continue;
}
if (trie.startsWith(titel(book))) {
book.style.display = "none";
removed += 1;
} else not_found.push(titel(book));
}
const artikel = document.getElementsByClassName("sichtbare-artikel");
if (artikel.length != 0) {
artikel[0].innerHTML = not_found.length.toString();
}
console.debug(artikel);
console.debug("titel nicht in der blacklist:", not_found);
}
async function run() {
GM_registerMenuCommand("Clean results", function (event: Event) {
console.debug(event);
event.preventDefault();
clean();
}, "c");
const button = document.getElementsByTagName("suche-button-mehr-laden");
if (button.length != 0) {
for (let i = 0; i < 10; i++) await button[0].load();
}
clean();
}
run();