➕
'
for (let i = 0; i < emoji_in_group.length; ++i) {
let emoji_id = emoji_in_group[i][0]
src = emoji_in_group[i][1]
emoji_data += '
'
let div = document.createElement('div');
div.id = emoji_id + '_menu';
div.aid = emoji_id;
div.style = 'margin-top : 17px;display:none';
div.addEventListener('click', del_emoji(div.aid, selected_group.group));
div.innerHTML = "❎";
document.getElementById('append_parent').appendChild(div);
}
emoji_data += '
'
document.getElementById('emo_content').innerHTML = emoji_data
document.getElementById('upload').addEventListener('change', upload_emoji_select.bind(document.getElementById('upload')))
let emo_tag = document.getElementById('emo_tag')
emo_tag.innerHTML = ''
for (let emoji_group in emoji_set) {
let d = document.createElement('div')
d.id = emoji_group
let img = document.createElement('img')
d.classList = ['tag clicked'];
img.src = (emoji_set[emoji_group].length> []) ? (emoji_set[emoji_group][0][1]) : " ";
d.innerHTML = img.outerHTML;
d.addEventListener('click', switch_tag)
d.setAttribute("onmouseover", "showMenu({\'ctrlid\':this.id,\'pos\':\'21!\',\'layer\':3})")
emo_tag.appendChild(d)
let div = document.createElement('div');
div.id = emoji_group + '_menu';
div.aid = emoji_group;
div.style = 'margin-top : 17px;display:none';
div.addEventListener('click', del_group(div.aid));
div.innerHTML = "❎";
document.getElementById('append_parent').appendChild(div);
}
document.getElementById(selected_group.group).classList.add('selected')
}
function init_emoji(emoji_set) {
document.querySelectorAll('.xs0>p:nth-child(2)').forEach((ele) => { let b = document.createElement("a"); b.innerHTML = '添加至表情包'; b.classList = ['clicked']; b.addEventListener('click', add_emoji(ele.parentNode.parentNode.previousElementSibling.id, ele.parentNode.parentNode.previousElementSibling.src)); ele.appendChild(b) })
document.querySelectorAll('.t_f>img.zoom').forEach((ele) => {
let div = document.createElement('div');
div.innerHTML = "➕";
div.style = 'position: absolute;top: 0; display:none';
div.addEventListener('click', add_emoji(ele.id, ele.src));
let p = ele.parentElement; p.removeChild(ele);
let new_div = document.createElement('div');
new_div.addEventListener("mouseover", () => { div.style.display = "block"; div.style.fontSize = Math.ceil(ele.width * 0.15) + 'px'; });
new_div.addEventListener("mouseout", () => div.style.display = "none");
new_div.style = "position :relative";
new_div.appendChild(div);
new_div.appendChild(ele);
p.appendChild(new_div);
})
let emo = document.createElement("a");
emo.id = "mine"
emo.style = " background-image: url(\"data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='' y='15' font-size='12' %3E%F0%9F%98%80%3C/text%3E%3C/svg%3E\")"
emo.classList = ['clicked']
emo.setAttribute('onclick', "if(!$(mine_menu.display)) {showMenu({'ctrlid':this.id,'evt':'click','pos':'23',\'duration\':3,\'drag\':1,\'maxh\':400});}else{hideMenu();}")
let emo_menu = document.createElement('div')
emo_menu.id = "mine_menu"
emo_menu.style = "display: none;overflow: hidden;padding: 0 3px 3px 0; background: rgb(232, 241, 252); border: 2px solid lightsteelblue; border-radius: 5px; width: 50%;"
let emo_tag = document.createElement('div')
emo_tag.id = "emo_tag"
emo_tag.style = "display: flex;height: 45px;background-color: lightsteelblue;align-items: center;width: fit-content;border-radius: 0 0 4px 0;border: 0px solid lightsteelblue;"
let emo_cotent = document.createElement('div')
emo_cotent.id = "emo_content"
for (let emoji_group in emoji_set) {
let d = document.createElement('div')
d.id = emoji_group
let img = document.createElement('img')
d.classList = ['tag clicked'];
img.src = (emoji_set[emoji_group].length != 0) ? (emoji_set[emoji_group][0][1]) : " ";
d.innerHTML = img.outerHTML;
d.addEventListener('click', switch_tag)
emo_tag.appendChild(d)
}
emo_menu.appendChild(emo_tag)
emo_menu.appendChild(emo_cotent)
let emo_fast = emo.cloneNode(true)
setInterval(() => { document.getElementById('postat') != null ? document.getElementById('postat').insertAdjacentElement('beforebegin', emo_fast) : "" }, 1000)
document.getElementById('fastpostat').insertAdjacentElement('beforebegin', emo)
document.getElementById('fastpostat').insertAdjacentElement('beforebegin', emo_menu);
update_emoji(emoji_set[selected_group.group])
addCss('img.emoji {padding: 2px;border-radius: 10px;} .clicked:hover {cursor: pointer;} div.tag { height: 45px; padding: 0 3px 0 3px; border-radius: 2px; display: flex; align-items: center;} div.tag > img { height: 30px; border-radius: 2px;} .selected { background: rgb(232, 241, 252);}')
let i = document.createElement('input')
i.type = 'file'
i.accept = ".eif"
i.addEventListener('change', upload_eif.bind(i))
document.querySelector("#post_replytmp").parentNode.appendChild(i)
document.getElementById(selected_group.group).classList += ' selected'
let p = document.createElement('progress')
p.id = 'progress_upload'
p.value = 0
p.hidden = true
p.innerHTML = "进度"
document.querySelector("#post_replytmp").parentNode.appendChild(p)
}
//GM_deleteValue('emoji_set')
//GM_deleteValue('emoji_album_id')
// GM_setValue('default_group','mine.eif8213')
let upload_count = 0
let post_params = unsafeWindow.upload.settings.post_params;
let formhash = document.getElementById('modactions').childNodes[1].value;
let emoji_set = GM_getValue('emoji_set', { 'default': [] })
let emoji_group_list = []
for (let emoji_group in emoji_set) {
emoji_group_list.push(emoji_group)
}
let _selected_group = GM_getValue('default_group', 'default')
let selected_group = {}
Object.defineProperty(selected_group, 'group', {
configurable: true,
get: function () {
return _selected_group;
},
set: function (value) {
if (document.getElementById(_selected_group) != null) document.getElementById(_selected_group).classList.toggle('selected')
_selected_group = value;
update_emoji()
GM_setValue('default_group', _selected_group)
}
})
console.log(emoji_set)
init_emoji(emoji_set);
setInterval(update_emoji, 3000)
})();