MediaWiki:Common.js: Difference between revisions

From Good Creations! MC Wiki
Jump to navigation Jump to search
No edit summary
Tag: Reverted
mNo edit summary
Tag: Reverted
Line 53: Line 53:


if ( mw.config.get( 'wgPageName' ) === 'Discord' ) {
if ( mw.config.get( 'wgPageName' ) === 'Discord' ) {
$.getScript("https://cdn.jsdelivr.net/npm/@widgetbot/html-embed")
// If we're on the Discord page, hide the "main" tab (ca-nstab-main)
.done(function() {
    $('#ca-nstab-main').hide();  // Hide the ca-nstab-main tab
    console.log("Script loaded successfully!");
 
})
    // Make the "my_namespace" tab (ca-my_namespace) active
.fail(function() {
    $('#ca-my_namespace').addClass('selected'); // Add the selected class to ca-my_namespace tab
    console.log("Failed to load script.");
} else {
});
    // If not on the Discord page, show the "main" tab again and remove the active class from ca-my_namespace
    $('#ca-nstab-main').show(); // Show the ca-nstab-main tab
    $('#ca-my_namespace').removeClass('selected'); // Remove the selected class from ca-my_namespace tab
}
}

Revision as of 13:03, 16 March 2025

/*
 * This is the JS for all skins (for both mobile and desktop) on MediaWiki.org.
 * Consider whether you can use a gadget with one of the options set to limit
 * where it is loaded. See [[Extension:Gadgets#Options]].
 */
/* global mw, $ */
/**
 * Hide prefix in category
 *
 * @source https://www.mediawiki.org/wiki/Snippets/Hide_prefix_in_category
 * @rev 5
 */
var prefix = $.trim( $( '#mw-cat-hideprefix' ).text() ) || ( mw.config.get( 'wgTitle' ) + '/' );
$( '#mw-pages' ).find( 'a' ).text( function ( i, val ) {
    return val.slice( 0, prefix.length ) === prefix ? val.slice( prefix.length ) : val;
} );

/**
 * @source https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
 * @revision 2017-05-16
 */
mw.loader.using( ['mediawiki.util'], function () {
	var extraCSS = mw.util.getParamValue( 'withCSS' ),
		extraJS = mw.util.getParamValue( 'withJS' ),
		extraModule = mw.util.getParamValue( 'withModule' );

	if ( extraCSS ) {
		// WARNING: DO NOT REMOVE THIS "IF" - REQUIRED FOR SECURITY (against XSS/CSRF attacks)
		if ( /^MediaWiki:[^&<>=%#]*\.css$/.test( extraCSS ) ) {
			mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraCSS ) + '&action=raw&ctype=text/css', 'text/css' );
		} else {
			mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' } );
		}
	}

	if ( extraJS ) {
		// WARNING: DO NOT REMOVE THIS "IF" - REQUIRED FOR SECURITY (against XSS/CSRF attacks)
		if ( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) {
			mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraJS ) + '&action=raw&ctype=text/javascript' );
		} else {
			mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' } );
		}
	}

	if ( extraModule ) {
		if ( /^ext\.gadget\.[^,\|]+$/.test( extraModule ) ) {
			mw.loader.load( extraModule );
		} else {
			mw.notify( 'Only gadget modules are allowed.', { title: 'Invalid withModule value' } );
		}
	}
});

if ( mw.config.get( 'wgPageName' ) === 'Discord' ) {
	// If we're on the Discord page, hide the "main" tab (ca-nstab-main)
    $('#ca-nstab-main').hide();  // Hide the ca-nstab-main tab

    // Make the "my_namespace" tab (ca-my_namespace) active
    $('#ca-my_namespace').addClass('selected');  // Add the selected class to ca-my_namespace tab
} else {
    // If not on the Discord page, show the "main" tab again and remove the active class from ca-my_namespace
    $('#ca-nstab-main').show();  // Show the ca-nstab-main tab
    $('#ca-my_namespace').removeClass('selected');  // Remove the selected class from ca-my_namespace tab
}