×
Create a new article
Write your page title here:
We currently have 3,034 articles on YumeWiki. Type your article name above or click on one of the titles below and start writing!



YumeWiki
3,034Articles

MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


//Season Calculator
(function() {
    function removePrefixFromCustomNamespaces() {
        var nsNumber = mw.config.get('wgNamespaceNumber');
        if (nsNumber < 3000) {
            return;
        }
        var nsName = mw.config.get('wgCanonicalNamespace').split('_').join(' ');
        var cosmosTitleText = document.getElementById('cosmos-title-text');
        var currentTitle = document.title;
        var prefixedTitle = cosmosTitleText.innerText;
        var replacementText = nsNumber % 2 === 0 ? '' : 'Talk:';
        var unprefixedTitle = prefixedTitle.replace(nsName + ':', replacementText);
       
        cosmosTitleText.innerText = prefixedTitle.replace(nsName + ':', replacementText);
    }
    removePrefixFromCustomNamespaces();
})();


$(document).ready(function() {
//Page-specific JS
     $("#calculatorDiv").append('<input type="number" id="calculator" onkeyup="calculateSeason(this.id)" onchange="calculateSeason(this.id)"></input>');  
switch (mw.config.get('wgPageName')) {
});
     case 'Yume_2kki:Randomizers':
        mw.loader.load('https://yume.wiki/MediaWiki:SeasonCalculator.js?action=raw&ctype=text/javascript');
    break;
}


//2kki map frame
//2kki map frame
Line 52: Line 71:
         }
         }
     }     
     }     
}());
(function () {
$('#calculator').keyup(calculateSeason);
$('#calculator').change(calculateSeason);
function calculateSeason(){
    if ($(this).val().match(/^\d+$/)) {
        var season = 'Unknown';
        var sleepTimes = parseInt($(this).val());
        sleepTimes = (sleepTimes + 1) % 554400;
        var seasonNumber = Math.floor((sleepTimes + 4)/ 3) % 4;
        switch (seasonNumber){
            case 0:
                season = 'Winter';
                break;
            case 1:
                season = 'Spring';
                break;
            case 2:
                season = 'Summer';
                break;
            case 3:
                season = 'Fall';
                break;                       
        }
        var limite = false;
        var i = 1;
        while (!limite) {
            sleepTimes++;
            seasonNumberTest = (Math.floor((sleepTimes + 4)/ 3)) % 4;
            if (seasonNumberTest == seasonNumber) i++;
            else limite = true;
        }
        $("#results").empty();
        $("#results").append('The season in your next dream will be <b>' + season + '</b>. ');
        if (i == 1) {
            $("#results").append('This is the last day of the season.');
        }
        else {
            $("#results").append('This season will last for ' + i + ' more days.');           
        }
    }
    else {
        $(this).val('');
        $("#results").empty();
        $("#results").append('Type a valid positive integer on the input field.');       
    }
}
}());
}());

Latest revision as of 10:50, 24 July 2023

/* Any JavaScript here will be loaded for all users on every page load. */

(function() {
    function removePrefixFromCustomNamespaces() {
        var nsNumber = mw.config.get('wgNamespaceNumber');
        if (nsNumber < 3000) {
            return;
        }
        var nsName = mw.config.get('wgCanonicalNamespace').split('_').join(' ');
        var cosmosTitleText = document.getElementById('cosmos-title-text');
        var currentTitle = document.title;
        var prefixedTitle = cosmosTitleText.innerText;
        var replacementText = nsNumber % 2 === 0 ? '' : 'Talk:';
        var unprefixedTitle = prefixedTitle.replace(nsName + ':', replacementText);
        
        cosmosTitleText.innerText = prefixedTitle.replace(nsName + ':', replacementText);
    }
    removePrefixFromCustomNamespaces();
})();

//Page-specific JS
switch (mw.config.get('wgPageName')) {
    case 'Yume_2kki:Randomizers':
        mw.loader.load('https://yume.wiki/MediaWiki:SeasonCalculator.js?action=raw&ctype=text/javascript');
    break;
}

//2kki map frame
mw.hook('wikipage.content').add(function($content) {
    $content.find('.kkiDiv:not(.loaded)').each(function() {
        var $this = $(this);
        $this.html(
            $('<iframe>', {
                border: 0,
                frameborder: 0,
                scrolling: 'no',
                class: 'kkiFrame',
                src: 'https://yume-2kki-explorer.herokuapp.com/',
            })
        ).addClass('loaded');
    });
});

(function () {
    $(".spoiler").click(changeClass);
    
    function changeClass(){
        if ($(this).hasClass("spoiler")) {
            $(this).removeClass("spoiler");
            $(this).addClass("spoilerClicked");
        }
        else {
            $(this).removeClass("spoilerClicked");
            $(this).addClass("spoiler");
        }
    }    
}());


(function () {
    $(".spoilerWarning").click(addClass);
    function addClass(){
        var parent = $(this).parent();
        var content = $(parent).find("div.spoilerContent");
        if ($(content).hasClass("hide")) {
            $(content).removeClass("hide");
            if ($(this).hasClass("hideable")) $(this).addClass("hide");
        }
        else{
            $(content).addClass("hide");
        }
    }    
}());