DTF comment spoiler

Сворачивает раздел комментариев

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         DTF comment spoiler
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Сворачивает раздел комментариев
// @author       Fenrir
// @match        https://dtf.ru/*
// @run-at         document-start
// @grant        none
// ==/UserScript==

window.addEventListener('DOMContentLoaded', function headlapse() {
    if (document.getElementsByClassName('comments') !== null) {
        this.removeEventListener('DOMContentLoaded', headlapse);
        const comments = document.getElementsByClassName('comments')[0]
        comments.hidden = true;
        const dummyNode = comments.parentNode.insertBefore(document.createElement('div'), comments),
              show = '\u25BA Показать комментарии',
              hide = '\u25BC Скрыть комментарии';
        dummyNode.outerHTML = '<table width="95%" cellspacing="1" cellpadding="3" bgcolor="#999999" align="center" border="0"><tbody><tr><td valign="middle" bgcolor="#ffffff" align="left"></td></tr></tbody></table>';
        const spoilerHead = comments.previousElementSibling,
              spTitle = spoilerHead.getElementsByTagName('td')[0];
        spoilerHead.style.cssText = '-moz-user-select: none !important;-webkit-user-select: none !important; -ms-user-select: none !important; user-select: none !important; cursor: pointer !important';
        spTitle.textContent = show;
        spoilerHead.onclick = e => {
            if (e.button != 0) return;
            e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation();
            comments.hidden = !comments.hidden;
            spTitle.textContent = comments.hidden ? show : hide;
        }
        console.log("test comments spoiler");
    };
});