// ==UserScript== // @name JRH: JoyReactor Helper // @version 2.0 // @author DmitriyMX // @match http://joy.reactor.cc/* // @grant none // @run-at document-end // ==/UserScript== /** * Исправляет ссылки-редиректы */ function fixNofollowLinks() { document.querySelectorAll('a[rel="nofollow"][href^="//reactor.cc"]').forEach((elm) => { elm.href = elm.href.replace('//reactor.cc', '//joy.reactor.cc'); }); } function createTreeButton(listId) { var aTag = document.createElement('a'); aTag.href = "#"; aTag.classList.toggle('collapse-comments'); aTag.text = '[-]'; aTag.dataset.listid = listId; aTag.style.fontWeight = 'bold'; aTag.style.color = '#656464'; aTag.style.lineHeight = '31px'; aTag.style.textDecoration = 'none'; aTag.style.margin = '0 10px'; aTag.style.padding = '0 10px'; aTag.style.borderRadius = '15px'; aTag.style.background = '#dfdfdf'; aTag.onclick = function() { var listId = this.dataset.listid; var commentListElement = document.getElementById(listId); if (commentListElement.style.display === 'none') { commentListElement.style.display = ''; this.text = '[-]'; } else { commentListElement.style.display = 'none'; this.text = '[+]'; } return false; }; return aTag; } /** * Добавляем кнопку сворачивания комментариев */ function collapseTreeComments() { Array.from(document.querySelectorAll('div.comment')) .filter(elm => { return elm.nextElementSibling.children.length > 0; }) .forEach(elm => { var listId = elm.nextElementSibling.id; elm.querySelector('span.reply-link').appendChild(createTreeButton(listId)); }); } function isPostPage() { return document.URL.match(/http?:\/\/joy\.reactor\.cc\/post/) !== null } (function() { 'use strict'; fixNofollowLinks(); if (isPostPage()) { collapseTreeComments(); } })();