Difference between revisions of "MediaWiki:Common.js"

From Path of Diablo Wiki
Jump to: navigation, search
Line 23: Line 23:
 
 
 
mw.util.addPortletLink( 'p-personal', '#', 'Dark mode', 'pt-darkmode', '', 'np', '#pt-watchlist' );
 
mw.util.addPortletLink( 'p-personal', '#', 'Dark mode', 'pt-darkmode', '', 'np', '#pt-watchlist' );
document.documentElement.className = 'client-dark-mode';
 
  
 
     $( '#pt-darkmode' ).on( 'click', function( e ) {
 
     $( '#pt-darkmode' ).on( 'click', function( e ) {
Line 33: Line 32:
 
'client-dark-mode-toggle',
 
'client-dark-mode-toggle',
 
String( Number( $html.hasClass( 'client-dark-mode' ) ) )
 
String( Number( $html.hasClass( 'client-dark-mode' ) ) )
 +
document.documentElement.className = 'client-dark-mode';
 
);
 
);
 
     } );
 
     } );
 
} );
 
} );

Revision as of 05:32, 27 August 2023

/* 
 * WikimediaUI Dark Mode
 *
 * Original authors:
 * - Volker E. (Wikimedia Foundation Product Design)
 * - Alex Hollender  (Wikimedia Foundation Product Design)
 * - Ed Sanders
 * - MusikAnimal
 *
 * Last updated: 2020-04-24
 */

// Load dependencies (remove when loading through ResourceLoader).
mw.loader.load( 'https://pathofdiablo.com/wiki/dark-mode.css', 'text/css' );
// User has dark color scheme preference set in operating system.
//if ( window.matchMedia( '( prefers-color-scheme: dark )' ).matches || mw.storage.get( 'client-dark-mode-toggle' ) === '1' ) {
//	document.documentElement.className = 'client-dark-mode';
//}

$( function () {
	// Fix logos.
	//$( '#p-logo' ).clone().addClass( 'mw-no-invert' ).insertAfter( '#p-logo' );
	
	mw.util.addPortletLink( 'p-personal', '#', 'Dark mode', 'pt-darkmode', '', 'np', '#pt-watchlist' );

    $( '#pt-darkmode' ).on( 'click', function( e ) {
    	var $html = $( 'html' );
        e.preventDefault();
        
        $html.toggleClass( 'client-dark-mode' );
        mw.storage.set(
			'client-dark-mode-toggle',
			String( Number( $html.hasClass( 'client-dark-mode' ) ) )
	document.documentElement.className = 'client-dark-mode';
		);
    } );
} );