User:Euphoria/common.js

From Test Wiki
Revision as of 07:51, 10 November 2023 by Euphoria (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)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
mw.loader.using(['mediawiki.util']).then(function () {
    // Extract the username from the current page title
    var pageTitle = mw.config.get('wgTitle');
    var username;

    // Check if the current page is a user page or user talk page
    var isUserPage = mw.config.get('wgNamespaceNumber') === 2; // User namespace
    var isTalkPage = mw.config.get('wgNamespaceNumber') === 3; // User talk namespace

    if (isUserPage || isTalkPage) {
        // Extract username for user and talk pages
        username = pageTitle.split('/')[0];
    } else {
        // Extract username for contributions page
        username = pageTitle.split('/')[1];
    }

    // Check if the current page is a user page, user talk page, or user contributions page
    var isContributionsPage = mw.config.get('wgCanonicalSpecialPageName') === 'Contributions';

    // If the current page is a user page or user talk page, add the "SUL" link
    if (isUserPage || isTalkPage) {
        var sulLink = mw.util.addPortletLink(
            'p-cactions',
            mw.util.getUrl('Special:CentralAuth/' + username),
            'SUL',
            'ca-sul',
            'SUL',
            null,
            '#ca-sul'
        );
    }

    // If the current page is a user contributions page, add the "SUL" link using a different method
    if (isContributionsPage) {
        var sulLinkContributions = mw.util.addPortletLink(
            'p-cactions',
            mw.util.getUrl('Special:CentralAuth/' + username),
            'SUL',
            'ca-sul',
            'SUL',
            null,
            '#ca-sul'
        );
    }
});