MediaWiki:Common.js

Материал из Лигапедия Reborn
Перейти к навигации Перейти к поиску

Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
  • Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
  • Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
  • Opera: Перейдите в Menu → Настройки (Opera → Настройки на Mac), а затем Безопасность → Очистить историю посещений → Кэшированные изображения и файлы
mw.loader.using(['mediawiki.util', 'mediawiki.storage']).done(function () {
	var storageKey = 'ligapedia-dark-mode';
	var isDark = false;

	try {
		isDark = localStorage.getItem(storageKey) === '1';
	} catch (e) {}

	if (!isDark) {
		isDark = mw.storage.get(storageKey) === '1';
	}

	function setTheme(dark) {
		if (dark) {
			document.documentElement.classList.add('dark-mode');
			mw.storage.set(storageKey, '1');
			try { localStorage.setItem(storageKey, '1'); } catch (e) {}
		} else {
			document.documentElement.classList.remove('dark-mode');
			mw.storage.set(storageKey, '0');
			try { localStorage.setItem(storageKey, '0'); } catch (e) {}
		}
		isDark = dark;
	}

	setTheme(isDark);

	var link = mw.util.addPortletLink(
		'p-personal',
		'#',
		isDark ? 'Светлая тема' : 'Тёмная тема',
		'pt-dark-mode-toggle',
		'Переключить тему'
	);

	if (link) {
		$(link).on('click', function (e) {
			e.preventDefault();
			setTheme(!isDark);
			$(this).text(isDark ? 'Светлая тема' : 'Тёмная тема');
		});
	}
});