MediaWiki:Common.js
MediaWiki interface page
More actions
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.
$(function () {
if (mw.config.get('wgNamespaceNumber') !== 0) return;
var pageName = mw.config.get('wgPageName');
// --- Kudos ---
var kudosKey = 'kudos_' + pageName;
var kudosGiven = localStorage.getItem(kudosKey) === 'true';
var kudosBtn = $('<span>')
.addClass('ao3-button')
.text(kudosGiven ? 'Kudos given! ♥' : 'Kudos ♥')
.css('background-color', kudosGiven ? '#c8e6c9' : '')
.on('click', function () {
if (!kudosGiven) {
kudosGiven = true;
localStorage.setItem(kudosKey, 'true');
$(this).text('Kudos given! ♥');
$(this).css('background-color', '#c8e6c9');
}
});
// --- Bookmark ---
var bookmarkKey = 'bookmark_' + pageName;
var isBookmarked = localStorage.getItem(bookmarkKey) === 'true';
var bookmarkBtn = $('<span>')
.addClass('ao3-button')
.text(isBookmarked ? 'Bookmarked ✓' : 'Bookmark')
.css({ 'margin-left': '6px', 'background-color': isBookmarked ? '#c8e6c9' : '' })
.on('click', function () {
isBookmarked = !isBookmarked;
localStorage.setItem(bookmarkKey, isBookmarked);
$(this).text(isBookmarked ? 'Bookmarked ✓' : 'Bookmark');
$(this).css('background-color', isBookmarked ? '#c8e6c9' : '');
});
// --- Inject ---
var bar = $('<div>', { style: 'margin-bottom: 1em;' })
.append(kudosBtn, bookmarkBtn);
$('#mw-content-text').prepend(bar);
});