Greasy Fork

Misskey.io 自動プレビュー

ノート投稿ダイアログを開いたとき、自動でプレビューモードをONにします

目前为 2023-03-14 提交的版本。查看 最新版本

// ==UserScript==
// @name         Misskey.io 自動プレビュー
// @namespace    https://misskey.io/@_kanade_
// @version      1.0.2
// @description  ノート投稿ダイアログを開いたとき、自動でプレビューモードをONにします
// @author       kanade
// @license      MIT
// @match        https://misskey.io/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=misskey.io
// @grant        none
// @run-at       document-idle
// ==/UserScript==

const ms = 3000;

(function() {
    'use strict';
    document.addEventListener('keydown', detectShortcutKey);

    setTimeout(() => {
        let btn = document.querySelectorAll('.post, .xbaFh.xfjt2.x2hCn.xze7V.xlA8v, .xviCy, .x7rzo > .xunvs:nth-child(2)');

        for(let i = 0; i < btn.length; i++) {
            btn[i].addEventListener('click', function() {
                clickPreview();
            }, false);
        }
    }, ms);

    function detectShortcutKey(e){
        let keyCodeN = 78;
        let keyCodeP = 80;

        let obj = document.activeElement;

        if(obj != document.querySelector('textarea') && (e.keyCode == keyCodeN || e.keyCode == keyCodeP)) {
            clickPreview();
            preventEvent(e);
            return false;
        }

        return true;
    }

    function clickPreview() {
            setTimeout(() => {
                let element = document.querySelector(".xpDI4.xxtDg._popup");
                if(element != null) {
                    document.querySelector('.xwGtC').click();
                }
            }, 100);
    }

    function preventEvent(key_event) {
        if (key_event.stopPropagation) {
            key_event.stopPropagation();
            key_event.preventDefault();
        }
    }
})();