// ==UserScript==
// @name Mipped
// @version 0.1
// @description none
// @author prorok
// @match *://mipped.com/f/threads/*
// @icon none
// @grant GM_addStyle
// ==/UserScript==
GM_addStyle(`
#hide {
font-size: 18px;
display: block;
justify-content: center;
background: transparent;
border: none;
cursor: pointer;
}
#hide:hover {
color: #e9e9e9;
}
#p-hide {
top: 2px;
position: relative;
font-size: 18px;
padding: 0;
padding-left: 8px;
font-weight: bold;
cursor: pointer;
}
#p-reply-hide {
top: 2px;
position: relative;
font-size: 18px;
padding: 0;
padding-right: 8px;
font-weight: bold;
cursor: pointer;
}
`)
function waitForElm(selector) {
return new Promise(resolve => {
const observer = new MutationObserver(mutations => {
if (document.querySelector(selector)) {
resolve(undefined)
observer.disconnect()
}
})
observer.observe(document.body, {
childList: true,
subtree: true
})
})
}
function addHide(name) {
if(name == '') {
document.querySelector('.fr-element').insertAdjacentHTML('beforeend', '<p>*** Скрытый текст не может быть процитирован. ***<br></p>')
} else document.querySelector('.fr-element').insertAdjacentHTML('beforeend', `<p>*** Скрытый текст не может быть процитирован. ***<br></p>`)
}
waitForElm('#moreRich-1').then((elm) => {
document.querySelector('#moreRich-1').insertAdjacentHTML('afterend', '<button id="hide" type="button" data-title="Шаблон хайда" class="fr-command fr-btn">✔</button>')
document.querySelectorAll('.actionBar-action--reputation').forEach( function(element, i) {
element.nextElementSibling.insertAdjacentHTML('afterend', '<div class="actionBar-action" id="p-hide" title="Личный хайд"><</div><div class="actionBar-action" id="p-reply-hide" title="Ответить, цитируя это сообщение с личный хайдом">></div>')
})
document.querySelector('#hide').onclick = () => {
addHide('')
}
document.querySelector('.block-body').addEventListener('click', function(event){
if(event.target.id == 'p-hide') {
addHide(event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.querySelector('.message-cell--user > .message-user > .uix_messagePostBitWrapper > .message-userDetails > h4').textContent)
}
if(event.target.id == 'p-reply-hide') {
event.target.parentElement.querySelector('.actionBar-set--external > .actionBar-action--reply').click()
waitForElm('.fr-element').then((elm) => {
addHide(event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.querySelector('.message-cell--user > .message-user > .uix_messagePostBitWrapper > .message-userDetails > h4').textContent)
})
}
})
})