64 lines
2.0 KiB
JavaScript
64 lines
2.0 KiB
JavaScript
|
/**
|
||
|
* @license
|
||
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||
|
* This file is part of Wolfree.
|
||
|
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||
|
*/
|
||
|
|
||
|
// @ts-check
|
||
|
|
||
|
import Placeholder from "./Placeholder.js";
|
||
|
import Entrypoint from "./Entrypoint.js";
|
||
|
|
||
|
export default class PostProcessor {
|
||
|
process = ({ input = String(), i2d = Boolean() } = {}) => {
|
||
|
try {
|
||
|
new Placeholder().remove();
|
||
|
|
||
|
try {
|
||
|
document
|
||
|
.querySelectorAll(
|
||
|
"html > body > div#__next > div > main > main > div.wolfree-pods > div > div > section > section > div > div > div > details > div"
|
||
|
)
|
||
|
.forEach((element = new HTMLElement()) =>
|
||
|
element.setAttribute("contenteditable", "")
|
||
|
);
|
||
|
} catch (error) {
|
||
|
console.error(
|
||
|
"Fail to make the plaintext in details tags easy to copy.",
|
||
|
error
|
||
|
);
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
document
|
||
|
.querySelectorAll(
|
||
|
"html > body > div#__next > div > main > main > div.wolfree-pods > div > div > section > section > div:is(:first-child) > select"
|
||
|
)
|
||
|
.forEach((element = new HTMLSelectElement()) =>
|
||
|
element.addEventListener(
|
||
|
"change",
|
||
|
async (event = new Event(String())) =>
|
||
|
Entrypoint({
|
||
|
input,
|
||
|
i2d,
|
||
|
extraPodstates: [
|
||
|
event.target instanceof HTMLSelectElement
|
||
|
? event.target.value
|
||
|
: (console.error({ event }), String()),
|
||
|
],
|
||
|
})
|
||
|
)
|
||
|
);
|
||
|
} catch (error) {
|
||
|
console.error(
|
||
|
"Fail to set up the drop-down menu for problem-solving strategies.",
|
||
|
error
|
||
|
);
|
||
|
}
|
||
|
} catch (error) {
|
||
|
console.error({ error });
|
||
|
}
|
||
|
};
|
||
|
}
|