MediaWiki:Common.js

From :: ChromeRivals Wiki ::
Revision as of 09:47, 18 July 2023 by Ranzu (talk | contribs)
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Current Event Tab */
  const options = {method: 'GET', headers: {'Cr-Api-Key': 'CRKey'}};

fetch('https://api.chromerivals.net/info/server/events', options)
  .then(function(response) { return response.json()})
  .then(function(response) { 
    if (response.result.length == 0) {
        $.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then( function () {
            mw.util.addPortletLink( 
                'p-views', 
                '',
                '',
                'current-events-no', 
                '',
                '',
                '#ca-view'
                );
        } ).then( function () {    
            $('#current-events-no').html('Current Event <br> There are no events running');
            $('#current-events-no').addClass('current-events');
        });    
    }
    for(var i = 0; i < response.result.length; i++) {
        $.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then( function () {
            mw.util.addPortletLink( 
                'p-views', 
                '',
                '',
                'current-events-' + i, 
                '',
                '',
                '#ca-view'
                );
        } ).then( function () {    
            $('#current-events-' + i).html("Current Event <br>" + response.result[i].mapsName);
            $('#current-events-' + i).addClass('current-events');
        });    
    }
})
  .catch(function(err) { console.error(err)});
  
  
 /* CC Footer */
 const box = document.createElement("div");
box.id = "footerCC";
document.body.appendChild(box);
 
document.getElementById('footerCC').innerHTML = '<p xmlns:cc="http://creativecommons.org/ns#" >This work is licensed under <a href="http://creativecommons.org/licenses/by/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC BY 4.0<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://wiki.chromerivals.net/images/c/c6/Attribution_icon_white_x2.png"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://wiki.chromerivals.net/images/1/15/Cc_icon_white_x2.png"></a></p>';

 
  
/* Notes
PortletID:
p-namespaces - Left tab
p-views - Right tab
pt-userpage - Top tab
*/


/* Timer */
(function() {
  var clockTime = function() {
    var date = new Date();

    var label = document.getElementById('server-time-label');
    var href = document.getElementById('server-time-href');

    if(label)
      label.innerHTML = date.toLocaleTimeString('en-gb', {timeZone: "etc/GMT-2", hour12: false});

    if(href)
      href.innerHTML = 'Server Time <br>' + date.toLocaleString('en-gb', {timeZone: "etc/GMT-2", timeZoneName: 'short', hour12: false});
  };

  clockTime();

  setInterval(clockTime, 1000);
})();
/* Add New tab - Timer */
$.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then( function () {
    mw.util.addPortletLink( 
    	'p-views', 
    	'',
    	'',
    	'server-time-href', 
    	'',
    	'accesskey',
    	'#ca-view'
    	);
} );

/* Row click link TableShops, CrystalShop(s) */
$(document).ready(function() {
    var rows = $('.TableShops, .CrystalShop1, .CrystalShop2, .CrystalShop3').find('tr');
    rows.on('click', function() {
        var row = $(this);
        console.log(row);
        if (row.find('a') !== null) {
            window.location = row.find('a').attr('href');;
        }
    });       
});

/* Cell click link CRPShopTable */
$(document).ready(function() {
    var rows = $('.CRPShopTable').find('td');
    rows.on('click', function() {
        var row = $(this);
        console.log(row);
        if (row.find('a') !== null) {
            window.location = row.find('a').attr('href');;
        }
    });       
});


/* Tooltip on whole row hover FixesTable */
var rows = $('.FixesTable').find('tr');
rows.each(function() {
    var row = $(this);
    row.attr('title', row.find('td').attr('title'));
});