import { $, addStyle, DOMUtils, log, utils } from "@/env"; import { Panel } from "@components/setting/panel"; import { MTUtils } from "@/utils/MTUtils"; import { unsafeWindow } from "ViteGM"; export const MTForumPostRightToolBar = { init() { DOMUtils.onReady(() => { Panel.execMenuOnce("mt-forum-post-quickCollentBtn", () => { return this.quickCollentBtn(); }); Panel.execMenuOnce("mt-forum-post-quickReplyOptimization", () => { return this.quickReplyOptimization(); }); }); }, /** * 【快捷收藏】 */ async quickCollentBtn() { log.info(`【快捷收藏】`); const $scrollTop = await DOMUtils.waitNode("#scrolltop", 10000); if (!$scrollTop) { return; } let formhash = await MTUtils.getFormHash(); let threadId = MTUtils.getThreadId(window.location.href)!; // 收藏的链接 let collectUrl = `/home.php?${utils.toSearchParamsStr({ mod: "spacecp", ac: "favorite", type: "thread", id: threadId, formhash: formhash, infloat: "yes", handlekey: "k_favorite", inajax: 1, ajaxtarget: "fwin_content_k_favorite", })}`; let $collect = DOMUtils.createElement("span", { innerHTML: /*html*/ ` `, }); DOMUtils.prepend($scrollTop, $collect); return [ addStyle(/*css*/ ` a#k_favorite{ background: #ffffff; } a#k_favorite:hover{ background: #f80 !important; } `), () => { DOMUtils.remove($collect); }, ]; }, /** * 快捷回复优化 */ async quickReplyOptimization() { const $el = await DOMUtils.waitNode('#scrolltop a[title="快速回复"]', 10000); if (!$el) { return; } log.info(`快捷回复优化`); const listener = DOMUtils.on($el, "click", function () { unsafeWindow.showWindow("reply", $el.href); log.info(`等待弹窗出现`); DOMUtils.waitNode("#moreconf", 10000).then(($moreconf) => { if (!$moreconf) { return; } log.success(`弹出出现,添加按钮`); let $oneKeySpace = DOMUtils.createElement( "button", { innerText: "一键空格", type: "button", id: "insertspace2", }, { style: "float: left;", } ); DOMUtils.on($oneKeySpace, "click", (event) => { DOMUtils.preventEvent(event); DOMUtils.val( $("#postmessage")!, DOMUtils.val($("#postmessage")!) + " " ); }); DOMUtils.append($moreconf, $oneKeySpace); }); }); return listener.off; }, };