From: JTH Date: Fri, 30 Sep 2022 11:43:07 +0000 (+0200) Subject: Move subject prefixing into separate function X-Git-Url: https://git.aero2k.de/?p=dfde%2Fquickmods.git;a=commitdiff_plain;h=cb52094917f1471c5afc02e3164afa304b14590b Move subject prefixing into separate function --- diff --git a/quickmod.user.js b/quickmod.user.js index 32e3984..8307483 100644 --- a/quickmod.user.js +++ b/quickmod.user.js @@ -97,6 +97,23 @@ async function postForm(form, formData, submitName, requiresConfirmation = false } } +function prefixSubject(input, reason) { + let subject = input.value; + + if (!reason) { + return subject; + } + + const prefix = `[${reason}]`; + if (subject.toLowerCase().includes(prefix.toLowerCase())) { + return subject; + } + + subject = `${prefix} ${subject}`; + const maxLen = input.getAttribute("maxlength") ?? subject.length; + return subject.slice(0, maxLen); +} + async function remove_post_handler(event) { const post = event.currentTarget.closest('.post'); const usernameElem = post.querySelector(".author .username,.author .username-coloured"); @@ -174,16 +191,8 @@ async function send_mcp_request_archival(post, reason) { } const post_id = post.id.slice(1); - const thread_title = (() => { - const prefix = `[${reason}]`; - let title = formData.get("subject"); - if (reason && !title.toLowerCase().includes(prefix.toLowerCase())) { - title = `${prefix} ${title}`; - } - return title.slice(0, form.elements["subject"].maxLength); - })(); formData.set("post_id_list[]", post_id); - formData.set("subject", thread_title); + formData.set("subject", prefixSubject(form.elements["subject"], reason)); formData.set("to_forum_id", ARCHIVFORUMID); try {