Formatting

This commit is contained in:
ekzyis 2022-12-25 02:38:03 +01:00
parent 69dec59a4c
commit defe6ebc4d
2 changed files with 49 additions and 45 deletions

7
.prettierrc Normal file
View File

@ -0,0 +1,7 @@
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": false,
"singleQuote": true,
"printWidth": 120
}

View File

@ -10,66 +10,63 @@
// ==/UserScript== // ==/UserScript==
const headers = { const headers = {
origin: "https://libretranslate.com", origin: 'https://libretranslate.com',
accept: "*/*", accept: '*/*',
"accept-language": "de-DE,de;q=0.9,ru-DE;q=0.8,ru;q=0.7,en-US;q=0.6,en;q=0.5", 'accept-language': 'de-DE,de;q=0.9,ru-DE;q=0.8,ru;q=0.7,en-US;q=0.6,en;q=0.5',
"sec-ch-ua": 'sec-ch-ua': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
'"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"', 'sec-ch-ua-mobile': '?0',
"sec-ch-ua-mobile": "?0", 'sec-ch-ua-platform': '"Linux"',
"sec-ch-ua-platform": '"Linux"', 'sec-fetch-dest': 'empty',
"sec-fetch-dest": "empty", 'sec-fetch-mode': 'cors',
"sec-fetch-mode": "cors", 'sec-fetch-site': 'same-origin',
"sec-fetch-site": "same-origin", }
};
function translate(text, source, target) { function translate(text, source, target) {
const formData = new FormData(); const formData = new FormData()
formData.append("q", text); formData.append('q', text)
formData.append("source", source); formData.append('source', source)
formData.append("target", target); formData.append('target', target)
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
GM_xmlhttpRequest({ GM_xmlhttpRequest({
method: "POST", method: 'POST',
url: "https://libretranslate.com/translate", url: 'https://libretranslate.com/translate',
data: formData, data: formData,
headers, headers,
synchronous: true, synchronous: true,
onload: function (res) { onload: function (res) {
const body = JSON.parse(res.responseText); const body = JSON.parse(res.responseText)
if (res.status !== 200) return reject(body); if (res.status !== 200) return reject(body)
return resolve(body.translatedText); return resolve(body.translatedText)
}, },
}); })
}); })
} }
const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); const sleep = (ms) => new Promise((r) => setTimeout(r, ms))
function addButtons() { function addButtons() {
console.log("sn-translator: Adding button to every comment ..."); console.log('sn-translator: Adding button to every comment ...')
const commentSection = document.querySelector(".item_comments__cN57K"); const commentSection = document.querySelector('.item_comments__cN57K')
const comments = commentSection.querySelectorAll(".comment_comment__5uvl3"); const comments = commentSection.querySelectorAll('.comment_comment__5uvl3')
const commentNodes = commentSection.querySelectorAll(".comment_text__nHI0E"); const commentNodes = commentSection.querySelectorAll('.comment_text__nHI0E')
for (const comment of comments) { for (const comment of comments) {
const topBar = comment.querySelector(".item_other__qNlji"); const topBar = comment.querySelector('.item_other__qNlji')
const content = comment.querySelector(".comment_text__nHI0E"); const content = comment.querySelector('.comment_text__nHI0E')
const padding = document.createElement("span"); const padding = document.createElement('span')
padding.innerText = " "; padding.innerText = ' '
const btn = document.createElement("button"); const btn = document.createElement('button')
btn.innerText = "Translate"; btn.innerText = 'Translate'
btn.onclick = async (e) => { btn.onclick = async (e) => {
const t = await translate(content.innerText, "auto", "en").catch( const t = await translate(content.innerText, 'auto', 'en').catch(console.error)
console.error if (t) content.innerText = t
);
if (t) content.innerText = t;
};
topBar.appendChild(padding);
topBar.appendChild(btn);
} }
console.log("Done"); topBar.appendChild(padding)
topBar.appendChild(btn)
}
console.log('Done')
} }
(async function () { ;(async function () {
await sleep(1000); await sleep(1000)
addButtons(); addButtons()
})(); })()