BunkrSorter

Sorts bunkr items by size. Biggest first

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name         BunkrSorter
// @namespace    https://github.com/runisco
// @version      3.14
// @supportURL   https://github.com/Runisco/BunkrSorter/issues
// @description  Sorts bunkr items by size. Biggest first
// @author       Runisco
// @match        https://bunkr.is/a/*
// @match        https://bunkr.ru/a/*
// @match        https://bunkrr.ru/a/*
// @match        https://bunkr.su/a/*
// @match        https://bunkr.la/a/*
// @match        https://bunkrr.su/a/*
// @match        https://bunkr.sk/a/*
// @match        https://bunkr.si/a/*
// @match        https://bunkr.ws/a/*
// @match        https://bunkr.se/a/*
// @match        https://bunkr.fi/a/*
// @match        https://bunkr.ci/a/*
// @match        https://bunkr.ax/a/*
// @match        https://bunkr.ac/a/*
// @match        https://bunkr.site/a/*
// @match        https://bunkr.black/a/*
// @match        https://bunkr.red/a/*
// @match        https://bunkr.ps/a/*
// @match        https://bunkr.pk/a/*
// @match        https://bunkr.ph/a/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=bunkr.is
// @require      https://code.jquery.com/jquery-3.3.1.min.js
// @grant        none
// ==/UserScript==

/* globals $ */

var sortButton = $('<a href="#" class="sort" id="startSort">sort items</a>');
sortButton.insertAfter($('p.subtitle'));
$('#startSort').css({'margin-left':'10px'});
// $('#startlistSort').css({'margin-left':'10px'});
var sortButtonFriends = $('<a id="startSortFriends" class="py-2 px-4 rounded inline-flex items-center justify-center" href="#" style="background: #5253F6;color: #F6F652;font-weight: bold;">Sort Items</a>');
// var listButtonFriends = $('<li><a href="#" class="listSort" id="startlistSort">sort & list items</a></li>');
// console.log($('a#statsLink').length)
// sortButtonFriends.insertBefore($('a#statsLink'))
// sortButtonFriends.insertBefore($('div.flex-row-reverse'))
$('div.flex-row-reverse').prepend(sortButtonFriends)
// listButtonFriends.insertAfter(sortButtonFriends)

var debug = true
var debugOnlyOne = false
var identifiedClass = '';
var identifiedContainer = '';

$('#startSort').click(function(){
    if (debug || debugOnlyOne){console.log("old startSort clicked")}
    var items = [];
    $('div.image-container.column').each(function(e){
        let item = []
        let size, sizeMultiplier;
        item.push($(this));

        if (debug || debugOnlyOne){console.log($(this))}
        $(this).remove();

        let sizeInfo = $(this).find('p.file-size').text();
        let sizeSplit = sizeInfo.split(" ");
        size = parseFloat(sizeSplit[0]);
        if (debug || debugOnlyOne) {console.log(sizeInfo + " " + size)}

        let sizeMultiplierDeterminer = sizeSplit[1]
        if (sizeMultiplierDeterminer == "KiB"){
            sizeMultiplier = (1/1024);
        } else if (sizeMultiplierDeterminer == "KB"){
            sizeMultiplier = (1/1024);
        } else if (sizeMultiplierDeterminer == "kB"){
            sizeMultiplier = (1/1024);
        }else if (sizeMultiplierDeterminer == "MiB"){
            sizeMultiplier = 1;
        } else if (sizeMultiplierDeterminer == "MB"){
            sizeMultiplier = 1;
        } else if (sizeMultiplierDeterminer == "GiB"){
            sizeMultiplier = 1024;
        } else if (sizeMultiplierDeterminer == "GB"){
            sizeMultiplier = 1024;
        }
        item.push(size * sizeMultiplier);
        if (debug || debugOnlyOne) {console.log(size + " = " + size * sizeMultiplier)}

        items.push(item);
        $(this).remove();
        debugOnlyOne = false;
    });

    var sortedItems = items.sort(function(a, b) {
        return b[1] - a[1];
    });

    for (let i=0; i < sortedItems.length; i++){
        $('div#table').append(sortedItems[i][0]);
    }
})

$('#startSortFriends').click(function(){
    if (debug || debugOnlyOne){console.log("New startSortFriends clicked")}

    var items = [];

    if ($('div.overflow-hidden').length != 0){
        identifiedClass = 'div.overflow-hidden'
    } else if ($('div.grid-images_box').length != 0) {
        identifiedClass = 'div.grid-images_box'
    }

    if ($('div.grid').length != 0){
        identifiedContainer = 'div.overflow-hidden'
    } else if ($('div.grid-images_box').length != 0) {
        identifiedContainer = 'div.grid-images'
    }


    $(identifiedClass).each(function(e){
        let item = []
        let size, sizeMultiplier;
        item.push($(this));

        if (debug || debugOnlyOne){console.log($(this))}
        $(this).remove();

        let sizeInfo = $(this).find('p:eq(1)').text();
        let sizeSplit = sizeInfo.split(" ");
        size = parseFloat(sizeSplit[0]);
        if (debug || debugOnlyOne) {console.log(sizeInfo + " " + size)}

        let sizeMultiplierDeterminer = sizeSplit[1]
        if (sizeMultiplierDeterminer == "KiB"){
            sizeMultiplier = (1/1024);
        } else if (sizeMultiplierDeterminer == "KB"){
            sizeMultiplier = (1/1024);
        } else if (sizeMultiplierDeterminer == "kB"){
            sizeMultiplier = (1/1024);
        }else if (sizeMultiplierDeterminer == "MiB"){
            sizeMultiplier = 1;
        } else if (sizeMultiplierDeterminer == "MB"){
            sizeMultiplier = 1;
        } else if (sizeMultiplierDeterminer == "GiB"){
            sizeMultiplier = 1024;
        } else if (sizeMultiplierDeterminer == "GB"){
            sizeMultiplier = 1024;
        }
        item.push(size * sizeMultiplier);
        if (debug || debugOnlyOne) {console.log(size + " = " + size * sizeMultiplier)}

        items.push(item);
        $(this).remove();
        debugOnlyOne = false;
    });

    var sortedItems = items.sort(function(a, b) {
        return b[1] - a[1];
    });

    for (let i=0; i < sortedItems.length; i++){
        $(identifiedContainer).append(sortedItems[i][0]);
    }
})

// $('#startlistSort').click(function(){
//     if (debug || debugOnlyOne){console.log("New startlistSort clicked")}

//     var items = [];

//     if ($('div.overflow-hidden').length != 0){
//         identifiedClass = 'div.overflow-hidden'
//     } else if ($('div.grid-images_box').length != 0) {
//         identifiedClass = 'div.grid-images_box'
//     }

//     if ($('div.grid').length != 0){
//         identifiedContainer = 'div.overflow-hidden'
//     } else if ($('div.grid-images_box').length != 0) {
//         identifiedContainer = 'div.grid-images'
//     }


//     $(identifiedClass).each(function(e){
//         let item = []
//         let size, sizeMultiplier;
//         $(this).find('img').remove()
//         item.push($(this));

//         if (debug || debugOnlyOne){console.log($(this))}
//         $(this).remove();

//         let sizeInfo = $(this).find('p:eq(1)').text();
//         let sizeSplit = sizeInfo.split(" ");
//         size = parseFloat(sizeSplit[0]);
//         if (debug || debugOnlyOne) {console.log(sizeInfo + " " + size)}

//         let sizeMultiplierDeterminer = sizeSplit[1]
//         if (sizeMultiplierDeterminer == "KiB"){
//             sizeMultiplier = (1/1024);
//         } else if (sizeMultiplierDeterminer == "KB"){
//             sizeMultiplier = (1/1024);
//         } else if (sizeMultiplierDeterminer == "kB"){
//             sizeMultiplier = (1/1024);
//         }else if (sizeMultiplierDeterminer == "MiB"){
//             sizeMultiplier = 1;
//         } else if (sizeMultiplierDeterminer == "MB"){
//             sizeMultiplier = 1;
//         } else if (sizeMultiplierDeterminer == "GiB"){
//             sizeMultiplier = 1024;
//         } else if (sizeMultiplierDeterminer == "GB"){
//             sizeMultiplier = 1024;
//         }
//         item.push(size * sizeMultiplier);
//         if (debug || debugOnlyOne) {console.log(size + " = " + size * sizeMultiplier)}

//         items.push(item);
//         $(this).remove();
//         debugOnlyOne = false;
//     });

//     var sortedItems = items.sort(function(a, b) {
//         return b[1] - a[1];
//     });

//     var newList = $('<ul></ul>')
//     for (let i=0; i < sortedItems.length; i++){
//         // $(identifiedContainer).append(sortedItems[i][0]);
//         newList.append(sortedItems[i][0]);
//     }
//     newList.insertAfter(identifiedContainer)
//     $(identifiedContainer).remove()
//     $('.grid-images_box-link').css('height','50px')
// })