Greasy Fork

kawaiimoji

press button to convert alphabet to mini characters on caffe

目前为 2020-09-27 提交的版本。查看 最新版本

// ==UserScript==
// @name         kawaiimoji
// @namespace    http://tampermonkey.net/
// @version      0.5
// @description  press button to convert alphabet to mini characters on caffe
// @author       #kawaiirz
// @match        http://caffe.senpai-agar.online/
// @match        http://caffe.senpai-agar.online/lwga/
// @run-at       document-end
// ==/UserScript==

(function t() {
    var target = document.getElementsByClassName('chat_input_area')[0];
    if (!target) {
        target = document.getElementById('chatboxArea2');
        console.log(target)
        if (!target) {
            setTimeout(t, 1000);
            return;
        }
    }

    var alphabets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'],
    minimoji = ['ᴀ','ʙ','ᴄ','ᴅ','ᴇ','ғ','ɢ','ʜ','ɪ','ᴊ','ᴋ','ʟ','ᴍ','ɴ','ᴏ','ᴘ','ǫ','ʀ','s','ᴛ','ᴜ','ᴠ','ᴡ','x','ʏ','ᴢ'];
    var nums = [0,1,2,3,4,5,6,7,8,9],
        mininums = ['₀','₁','₂','₃','₄','₅','₆','₇','₈','₉'];
    var btnChar = ['ᴀ','₁'];

    var btn = [];
    for (var bn=0; bn<btnChar.length; bn++) {
        btn[bn] = target.appendChild(document.createElement('div'));
        btn[bn].setAttribute("className", 'kawaiibtn');
        btn[bn].innerText = btnChar[bn];
        btn[bn].style.fontSize = 'small';
        btn[bn].style.color = 'black';
        btn[bn].style.backgroundColor = 'whitesmoke';
        btn[bn].style.cursor = 'pointer';
        btn[bn].style.borderTop = 'solid 1px black';
        btn[bn].style.borderRight = 'solid 1px black';
        btn[bn].style.zIndex = 1;
        btn[bn].style.position = 'absolute';
        btn[bn].style.padding = '2px 8px 3px 7px';
        btn[bn].style.float = 'left';
        btn[bn].style.position = 'static';
    }

    console.log(target.id)
    var chatBox = target.id == false ? document.getElementById('chat_input_text_box') : document.getElementById('input_box2');

    btn[0].addEventListener('click', function(){
        var afterStrs = [];
        if (chatBox) {
            var chatBoxStr = chatBox.value,
                beforeStrs = chatBoxStr.split('');
            for (var i=0; i<beforeStrs.length; i++) {
                for (var ii=0; ii<alphabets.length; ii++) {
                    if (beforeStrs[i] == alphabets[ii]) {
                        afterStrs[i] = minimoji[ii];
                        break;
                    } else {
                        afterStrs[i] = beforeStrs[i];
                    }
                }
            }
            chatBox.value = afterStrs.join('');
        }
    }, false);
    btn[1].addEventListener('click', function(){
        var afterStrs = [];
        if (chatBox) {
            var chatBoxStr = chatBox.value,
                beforeStrs = chatBoxStr.split('');
            for (var i=0; i<beforeStrs.length; i++) {
                for (var ii=0; ii<nums.length; ii++) {
                    if (beforeStrs[i] == nums[ii]) {
                        afterStrs[i] = mininums[ii];
                        break;
                    } else {
                        afterStrs[i] = beforeStrs[i];
                    }
                }
            }
            chatBox.value = afterStrs.join('');
        }
    }, false);

    var conf = {
        attributes: true
    }

    const observer = new MutationObserver (function(record) {
        observer.disconnect();
        for (var i=0; i<btnChar.length; i++) {
            if(target.style.display == 'none') {
                btn[i].style.display = 'none';
            } else {
                btn[i].style.display = '';
            }
        }
		observer.observe(target, conf);
	});
	observer.observe(target, conf);
})();