ao3 hide crossovers

hides works with too many fandom tags

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_link:Tampermonkey}.

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         ao3 hide crossovers
// @namespace    https://greasyfork.org/en/users/36620
// @version      0.3.1
// @description  hides works with too many fandom tags
// @author       scriptfairy
// @include      http://archiveofourown.org/*works*
// @include      https://archiveofourown.org/*works*
// @grant        none
// ==/UserScript==

/* CONFIG */

var max = 2;
// this is the maximum number of fandoms a work can have before being hidden

/* END CONFIG */

(function($) {
    $('<style>').text(
        '.hide .hideleft {width:85%;float:left;} .hide .hideright {float:right;padding-top:5px;}'
    ).appendTo($('head'));
    var works = $('ol.index li.blurb');
    for (i=0;i<works.length;i++){
        var fandoms = $('.header .fandoms a', works[i]);
        if (fandoms.length > max) {
            var button = document.createElement('div');
            button.setAttribute('class','hide');
            button.innerHTML = '<div class="hideleft">This work is tagged' + $('.header .fandoms', works[i])[0].innerHTML + 'and may be a crossover, fusion, or multi-fandom collection.</div><div class="hideright"><button type="button" class="show">Click to Show</button></div>';
            works[i].appendChild(button);
            $(works[i]).children(':not(".hide")').css('display','none');
        }
    }

    $(document).ready(function(){
        $('.hide button').click(function() {
            var work = $(this).parents('li')[0];
            if ($(this).hasClass("show")) {
                $(work).children(':not(".hide")').show();
                $(work).find('.hideleft').css('visibility', 'hidden');
                $(this).text("Click to Hide");
                $(this).removeClass("show").addClass("shown");
            }
            else {
                $(work).children(':not(".hide")').hide();
                $(work).find('.hideleft').css('visibility', 'visible');
                $(this).text("Click to Show");
                $(this).removeClass("shown").addClass("show");
            }
        });
    });
})(window.jQuery);