MediaWiki:Common.js: Difference between revisions

From The Reed and Rite
mNo edit summary
Tag: Manual revert
mNo edit summary
Line 24: Line 24:
       localStorage.setItem(localStorageKey + index, currentIndex.toString());
       localStorage.setItem(localStorageKey + index, currentIndex.toString());
     });
     });
  });
});
mw.loader.using('mediawiki.user', function () {
  if (mw.user.isAnon()) return; // Do nothing for anonymous users
  // User is logged in — enable dismiss behavior
  $('.maybe-dismissible').addClass('dismissible-notice');
  $('.dismissible-notice .dismiss-button').click(function () {
    $(this).closest('.dismissible-notice').hide();
    // Optional: store dismissal in localStorage or user options if needed
   });
   });
});
});

Revision as of 23:33, 11 April 2025

/* Any JavaScript here will be loaded for all users on every page load. */
mw.loader.load( 'ext.cite.styles' );

/* Allows Template:Notice to be dismissable. */
$(document).ready(function() {
  $('.dismissible-notice .dismiss-button').click(function() {
    $(this).closest('.dismissible-notice').hide();
  });
});

/* Allows bullet points in to-do list in Template:User to toggle on and off. */
$(function() {
  const bullets = document.querySelectorAll('.toggle-bullet');
  const bulletChars = ['<span style="color: green">&#9679;</span>', '&#9702;'];
  const localStorageKey = 'userInfoboxBulletState';

  bullets.forEach((bullet, index) => {
    let currentIndex = localStorage.getItem(localStorageKey + index) === '0' ? 0 : 1; // Default to black if no stored state
    bullet.innerHTML = bulletChars[currentIndex];

    bullet.addEventListener('click', function() {
      currentIndex = (currentIndex + 1) % bulletChars.length;
      this.innerHTML = bulletChars[currentIndex];
      localStorage.setItem(localStorageKey + index, currentIndex.toString());
    });
  });
});


mw.loader.using('mediawiki.user', function () {
  if (mw.user.isAnon()) return; // Do nothing for anonymous users

  // User is logged in — enable dismiss behavior
  $('.maybe-dismissible').addClass('dismissible-notice');

  $('.dismissible-notice .dismiss-button').click(function () {
    $(this).closest('.dismissible-notice').hide();
    // Optional: store dismissal in localStorage or user options if needed
  });
});