|
|
Line 1: |
Line 1: |
− | /* Any JavaScript here will be loaded for all users on every page load. */
| + | if (window.location.href == 'https://dkcspeedruns.com/Main_Page') { |
− | | + | var donkey, clickbait, krool; |
− | var body = document.getElementsByTagName('body')[0];
| + | donkey = document.createElement('span'); |
− | | + | donkey.className = 'donkey-vine'; |
− | if (window.location.href == 'https://dkcspeedruns.com/Leaderboards') { | + | body.appendChild(donkey); |
− | document.getElementById('firstHeading').style.border = 'none'; | + | donkeyImg = document.createElement('img'); |
− | var editLinks = document.getElementsByClassName('mw-editsection-visualeditor'); | + | donkeyImg.src = 'https://lh3.googleusercontent.com/UYBai93vGYTw8DVk6J8QHkOVAXmpoCEDRcKvs0pT5iuv74EmQ2eN4krEBpshe86BLOoHa4wXZam9rsLuEw=s0'; |
− | for (var i = 0; i < editLinks.length; i++) { | + | donkey.appendChild(donkeyImg); |
− | editLinks[i].style.display = 'none';
| + | clickbait = document.createElement('img'); |
− | var newLink = document.createElement('a');
| + | clickbait.src = 'https://lh3.googleusercontent.com/760F0_U8_5oCZWlet9Y9kH-doyQDStZDhz9eVu0nBSn2RIKIMmY-frJWwTVgsADbhffbTuBjr2I1gJtsPQ=s0'; |
− | newLink.href = 'https://dkcspeedruns.com/' + editLinks[i].href.substr(51).split('&')[0] + '?veaction=edit';
| + | clickbait.id = "clickbait"; |
− | newLink.innerHTML = 'edit',
| + | document.getElementById('bodyContent').insertBefore(clickbait, document.getElementById('bodyContent').firstChild); |
− | editLinks[i].parentNode.insertBefore(newLink, editLinks[i]);
| + | krool = document.createElement('div'); |
− | }
| + | krool.id = 'krool'; |
− | var toc, container, gameTabs, gameTabsContainer, catTabs, games, gamesContainer, cats, catsContainer, currentGame;
| + | krool.className = 'pop-out'; |
− | toc = document.getElementById('toc'); | + | krool.className += ' paused'; |
− | container = document.getElementById('mw-content-text'); | + | body.appendChild(krool); |
− | toc.style.display = 'none'; | + | clickbait.onclick = function() { |
− | gameTabs = document.getElementById('mw-content-text').getElementsByTagName('h1');
| + | krool.classList.remove('paused'); |
− | catTabs = document.getElementById('mw-content-text').getElementsByTagName('h2');
| |
− | currentGame = 0;
| |
− | $(gameTabs).each(function(i) {
| |
− | if (i == 0) {
| |
− | $(this).addClass('game-tab selected');
| |
− | } else {
| |
− | $(this).addClass('game-tab');
| |
− | }
| |
− | $(this).nextUntil('h1').wrapAll('<div class="game"></div>');
| |
− | });
| |
− | $(catTabs).each(function(i) { | |
− | if (i == 0) {} else if (i == 1) {
| |
− | $(this).addClass('cat-tab selected');
| |
− | } else {
| |
− | $(this).addClass('cat-tab');
| |
− | }
| |
− | $(this).nextUntil('h2').wrapAll('<div class="cat"></div>');
| |
− | }); | |
− | games = document.getElementsByClassName('game');
| |
− | cats = document.getElementsByClassName('cat');
| |
− | gameTabsContainer = document.createElement('div');
| |
− | gameTabsContainer.id = 'game-tabs';
| |
− | body.appendChild(gameTabsContainer);
| |
− | while (gameTabs.length > 0) {
| |
− | gameTabsContainer.appendChild(gameTabs[0]);
| |
− | }
| |
− | container.insertBefore(gameTabsContainer, container.firstChild);
| |
− | for (var i = 0; i < games.length; i++) { | |
− | var catTabsContainer = document.createElement('div');
| |
− | catTabsContainer.className = 'cat-tabs';
| |
− | var tabs = games[i].getElementsByClassName('cat-tab');
| |
− | while (tabs.length > 0) {
| |
− | catTabsContainer.appendChild(tabs[0]);
| |
− | }
| |
− | games[i].insertBefore(catTabsContainer, games[i].firstChild);
| |
− | };
| |
− | for (var i = 0; i < games.length; i++) { | |
− | if (i == 0) {
| |
− | games[i].className += ' dkc-show';
| |
− | };
| |
− | }
| |
− | for (var i = 0; i < cats.length; i++) { | |
− | if (i == 0) {
| |
− | cats[i].className += ' dkc-show';
| |
− | };
| |
− | } | |
− | for (var i = 0; i < gameTabs.length; i++) {
| |
− | (function(index) {
| |
− | gameTabs[i].onclick = function() {
| |
− | showCurrentGame(index);
| |
− | }
| |
− | })(i);
| |
− | } | |
− | var showCurrentGame = function(index) {
| |
− | if (currentGame != index) {
| |
− | currentGame = index;
| |
− | for (var k = 0; k < games.length; k++) {
| |
− | games[k].classList.remove('dkc-show');
| |
− | gameTabs[k].className = 'game-tab';
| |
− | var resetCatTabs = games[k].getElementsByClassName('cat-tab');
| |
− | for (var p = 0; p < resetCatTabs.length; p++) {
| |
− | if (resetCatTabs[p].classList.contains('selected')) {
| |
− | resetCatTabs[p].classList.remove('selected');
| |
− | }
| |
− | }
| |
− | var resetCats = games[k].getElementsByClassName('cat');
| |
− | for (var p = 0; p < resetCats.length; p++) {
| |
− | if (resetCats[p].classList.contains('dkc-show')) {
| |
− | resetCats[p].classList.remove('dkc-show');
| |
− | }
| |
− | }
| |
− | }
| |
− | gameTabs[index].className += ' selected';
| |
− | games[index].className += ' dkc-show';
| |
− | games[index].getElementsByClassName('cat')[0].className += ' dkc-show';
| |
− | games[index].getElementsByClassName('cat-tab')[0].className = 'cat-tab selected';
| |
− | } else {
| |
− | for (var k = 0; k < games.length; k++) {
| |
− | games[k].classList.remove('dkc-show');
| |
− | }
| |
− | games[index].className += ' dkc-show';
| |
− | }
| |
− | }
| |
− | for (var i = 0; i < catTabs.length; i++) {
| |
− | (function(index) {
| |
− | catTabs[i].onclick = function() {
| |
− | showCurrentCat(index - 1);
| |
− | }
| |
− | })(i);
| |
− | }
| |
− | var showCurrentCat = function(cat) {
| |
− | for (var k = 0; k < cats.length; k++) { | |
− | cats[k].classList.remove('dkc-show');
| |
− | catTabs[k].className = 'cat-tab';
| |
− | }
| |
− | catTabs[cat + 1].className = 'cat-tab selected';
| |
− | cats[cat].className += ' dkc-show';
| |
− | }
| |
− | container.style.marginBottom = '-10px';
| |
− | container.style.display = 'block';
| |
− | }
| |
− | if (window.location.href.indexOf('Leaderboards') > -1) {
| |
− | body.classList.remove('page-Leaderboards')
| |
− | }
| |
− | if (window.location.href == 'https://dkcspeedruns.com/Leaderboards') {
| |
− | var games = document.getElementsByClassName('game');
| |
− | for (var g = 0; g < games.length; g++) {
| |
− | var links = games[g].getElementsByTagName('a');
| |
− | for (var a = 0; a < links.length; a++) {
| |
− | if (links[a].href.indexOf('youtu') > -1 || links[a].href.indexOf('twitch') > -1) {
| |
− | var link = links[a].href;
| |
− | links[a].setAttribute('data-embed', link);
| |
− | links[a].removeAttribute('href');
| |
− | links[a].onclick = function() {
| |
− | var link = this.getAttribute('data-embed');
| |
− | document.getElementsByTagName('html')[0].className += ' ve-loading';
| |
− | var modal = document.createElement('div');
| |
− | var close = document.createElement('div');
| |
− | close.id = "close";
| |
− | close.onclick = function() {
| |
− | document.getElementsByTagName('html')[0].className = document.getElementsByTagName('html')[0].className.substr(0, document.getElementsByTagName('html')[0].className.length - 11);
| |
− | document.getElementById('modal').outerHTML = '';
| |
− | }
| |
− | modal.id = "modal";
| |
− | if (link.indexOf('twitch') > -1) {
| |
− | modal.innerHTML = '<iframe src="https://player.twitch.tv/?video=' + link.substr(link.length - 9) + '" height="100%" width="100%"></iframe>';
| |
− | body.appendChild(modal);
| |
− | modal.appendChild(close);
| |
− | } else if (link.indexOf('youtu') > -1) {
| |
− | modal.innerHTML = '<iframe src="https://www.youtube.com/embed/' + link.substr(link.length - 11) + '?autoplay=1" height="100%" width="100%"></iframe>';
| |
− | body.appendChild(modal);
| |
− | modal.appendChild(close);
| |
− | }
| |
− | }
| |
− | }
| |
− | }
| |
− | }
| |
− | var currentGame = document.getElementsByClassName('dkc-show')[0];
| |
− | var gameTRs = document.getElementsByTagName('tr');
| |
− | for (var t = 0; t < gameTRs.length; t++) {
| |
− | if (gameTRs[t].lastChild.innerHTML.length > 1) {
| |
− | var newHTML = '<div>' + gameTRs[t].lastChild.innerHTML + '</div>';
| |
− | gameTRs[t].lastChild.innerHTML = newHTML;
| |
− | }
| |
| } | | } |
| } | | } |