User:Dane.fitzmaurice/vector.js

// Load dependencies (remove when loading through ResourceLoader). mw.loader.load( 'https://en.wikipedia.org/w/index.php?title=User:Volker_E._(WMF)/dark-mode.css&action=raw&ctype=text/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).addClass('client-dark-mode') }

$( => { // 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', (e) => {   e.preventDefault;    const $html = $('html');

$html.toggleClass('client-dark-mode');

mw.storage.set(     'client-dark-mode-toggle',      String(Number($html.hasClass('client-dark-mode')))    ); }); });