userscripts/dlsite.user.js

47 lines
1.5 KiB
JavaScript
Raw Normal View History

2024-01-03 21:33:45 -05:00
// ==UserScript==
// @name DLSite TL Unclaimed Works
// @namespace https://xeno.science/
// @version 1.0
// @description See which works on DLSite Translators Unite haven't already been started by other translators
// @author xenofem
// @match https://*.dlsite.com/*/works/translatable
// @match https://*.dlsite.com/*/works/translatable?*
// @match https://*.dlsite.com/*/works/translatable/*
// @run-at document-idle
// @sandbox DOM
// @license MIT
// ==/UserScript==
const MY_LANGUAGE = "英語";
function checkUnclaimed() {
const works = document.getElementsByClassName("search_result_img_box_inner");
for (const work of works) {
let unclaimed = false;
const tlTable = work.getElementsByClassName("translation_table")[0];
for (const row of tlTable.getElementsByTagName("tr")) {
if (row.children[0].textContent === MY_LANGUAGE &&
row.children[1].textContent === "受付中" &&
row.children[2].textContent === "0" &&
row.children[3].textContent === "0") {
unclaimed = true;
break;
}
}
if (!unclaimed) {
work.style.opacity = "0.2";
}
}
}
const checkButton = document.createElement("button");
checkButton.textContent = "Check unclaimed works";
checkButton.style.position = "fixed";
checkButton.style.top = "10px";
checkButton.style.right = "10px";
checkButton.addEventListener("click", checkUnclaimed);
document.body.appendChild(checkButton);
checkUnclaimed();