留言救星

巴啥留言排序

// ==UserScript==
// @name         留言救星
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  巴啥留言排序
// @author       You
// @match        https://forum.gamer.com.tw/C.php?*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=gamer.com.tw
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    extendComment = function (bsn, snB, doneCallback) {
        console.log('test')
        jQuery("#showoldCommend_" + snB).hide();
        jQuery("#closeCommend_" + snB).show();
        commentNew5[snB] = jQuery("#Commendlist_" + snB).html();
        commentNew5[snB] = commentNew5[snB].replace(/ data-tooltipped=""/g, "").replace(/data-original-title=/g, "title=");
        var next_snC = jQuery("#moreCommentBtn_" + snB).attr("next");
        jQuery.ajax({
            url: "/ajax/moreCommend.php",
            data: {bsn: bsn, snB: snB, returnHtml: 1, next_snC: next_snC},
            method: "GET",
            dataType: "json"
        }).done(function (rdata) {
            var listSelector = "#Commendlist_" + snB;
            rdata['html'].sort(function (a, b) {
                let tempHtmlA = document.createElement('html')
                let tempHtmlB = document.createElement('html')
                tempHtmlA.innerHTML = a
                tempHtmlB.innerHTML = b
                let floorA = tempHtmlA.querySelector('.reply-content__footer').firstElementChild.attributes['data-floor'].value
                let floorB = tempHtmlB.querySelector('.reply-content__footer').firstElementChild.attributes['data-floor'].value
                return floorA - floorB
            })
            jQuery(listSelector).empty().prepend(rdata["html"]);
            Forum.C.commentFormatter(listSelector + " .reply-content__article > span.comment_content");
            Forum.C.bindReplyMenuTippy(listSelector);
            Forum.C.bindCommentGpBpListTippy(listSelector);
            Forum.C.bindCommentDateTippy(listSelector);
            GamerCard.bind(listSelector);

            if (rdata["next_snC"]) {
                jQuery("#moreCommentBtn_" + snB).attr("next", rdata["next_snC"]).show()
            } else {
                jQuery("#moreCommentBtn_" + snB).attr("next", 0).hide()
            }
            if (doneCallback) {
                doneCallback()
            }
        })
    }

    let replyContent = document.querySelectorAll('[id*=Commendlist_]')
    for (let i = 0; i < replyContent.length; i++) {
        let replyCommandDiv = replyContent[i].querySelectorAll('[id*=Commendcontent_]')
        replyCommandDiv = Array.prototype.slice.call(replyCommandDiv, 0);
        replyContent[i].innerHTML = ''
        replyCommandDiv.sort(function (a, b) {
            let tempA = a.querySelector('.reply-content__footer')
            let tempB = b.querySelector('.reply-content__footer')
            let floorA = tempA.getElementsByTagName('div')[0].innerText.replace('B', '')
            let floorB = tempB.getElementsByTagName('div')[0].innerText.replace('B', '')
            return floorA - floorB;
        })
        console.log(replyCommandDiv.length)
        for (let j = 0; j < replyCommandDiv.length; j++) {
            replyContent[i].appendChild(replyCommandDiv[j])
        }
    }
})();