MediaWiki: Common.js: Difference between revisions
From LINKS Community Center
Eschmidt (talk | contribs) No edit summary |
Eschmidt (talk | contribs) No edit summary |
||
Line 44: | Line 44: | ||
return output | return output | ||
+ '<div class="recent-change">' | + '<div class="recent-change">' | ||
+ '<div>' + change.title + '</div>' | + '<div class="change-title">' + change.title + '</div>' | ||
+ '<div>' + change.user + '</div>' | + '<div class="change-user">' + change.user + '</div>' | ||
+ '<div>' + time + ' ' + unit + (time > 1 ? 's' : '') + ' ago' + '</div>' | + '<div class="change-time">' + time + ' ' + unit + (time > 1 ? 's' : '') + ' ago' + '</div>' | ||
+ '</div>' | + '</div>' | ||
}, ''); | }, ''); |
Revision as of 15:05, 15 February 2022
/* Any JavaScript here will be loaded for all users on every page load. */ /* Matomo */ var _paq = window._paq = window._paq || []; /* Tracker methods like 'setCustomDimension' should be called before 'trackPageView'. */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function () { var u = '//analytics.safetyinnovation.center/'; _paq.push(['setTrackerUrl', u + 'matomo.php']); _paq.push(['setSiteId', '11']); var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0]; g.async = true; g.src = u + 'matomo.js'; s.parentNode.insertBefore(g, s); })(); /* End Matomo Code */ /* Recent Changes Start */ (function () { var changesWrapper = document.getElementById('recentChanges'); if (!changesWrapper) return; var params = new URLSearchParams({ action: 'query', list: 'recentchanges', rcnamespace: '0|-2', rcprop: 'title|user|timestamp', rclimit: '5', format: 'json' }); fetch('https://links.communitycenter.eu/api.php?origin=*&' + params.toString()) .then(function (response) { return response.json(); }) .then(function (response) { var domStr = response.query.recentchanges.reduce(function (output, change) { var sec = 1000, min = sec * 60, hour = min * 60, day = hour * 24, month = day * 30, year = day * 365; var time, unit, diff = new Date().getTime() - new Date(change.timestamp).getTime(); if (diff > year) { time = Math.floor(diff / year); unit = 'year' } else if (diff > month) { time = Math.floor(diff / month); unit = 'month' } else if (diff > day) { time = Math.floor(diff / day); unit = 'day' } else if (diff > hour) { time = Math.floor(diff / hour); unit = 'hour' } else if (diff > min) { time = Math.floor(diff / min); unit = 'minute' } else { time = Math.floor(diff / sec); unit = 'second' } return output + '<div class="recent-change">' + '<div class="change-title">' + change.title + '</div>' + '<div class="change-user">' + change.user + '</div>' + '<div class="change-time">' + time + ' ' + unit + (time > 1 ? 's' : '') + ' ago' + '</div>' + '</div>' }, ''); changesWrapper.innerHTML = domStr; }) .catch(function (error) { console.log('Error in Recent Changes Widget', error); }); })(); /* Recent Changes End */