мНет описания правки Метка: отменено |
мНет описания правки Метка: отменено |
||
Строка 1: | Строка 1: | ||
// | // MediaWiki:Common.js | ||
mw.loader.using('jquery').then(function() { | |||
if (window.matchMedia("(max-width: 768px)").matches) { | $(function() { | ||
if (window.matchMedia("(max-width: 768px)").matches) { | |||
// Создаем кнопку меню | |||
var $toggleButton = $('<button>') | |||
.addClass('citizen-mobile-menu-toggle') | |||
.html('☰ Меню') | |||
.css({ | |||
'background': 'transparent', | |||
'border': 'none', | |||
'color': '#fff', | |||
'cursor': 'pointer', | |||
'padding': '10px' | |||
}); | |||
// Вставляем кнопку в нужное место | |||
var $headerTools = $('.citizen-header__tools'); | |||
$('.citizen- | if ($headerTools.length) { | ||
$headerTools.prepend($toggleButton); | |||
} | } else { | ||
$('.citizen-header__end').prepend($toggleButton); | |||
} | |||
// Находим целевое меню | |||
var $targetMenu = $('.citizen-header__menu'); | |||
// Обработчик клика | |||
$toggleButton.on('click', function() { | |||
$targetMenu.toggleClass('is-visible'); | |||
}); | |||
} | |||
}); | |||
}); | }); | ||
window.toggleTheme = function() { | window.toggleTheme = function() { |
Версия от 16:33, 1 апреля 2025
// MediaWiki:Common.js
mw.loader.using('jquery').then(function() {
$(function() {
if (window.matchMedia("(max-width: 768px)").matches) {
// Создаем кнопку меню
var $toggleButton = $('<button>')
.addClass('citizen-mobile-menu-toggle')
.html('☰ Меню')
.css({
'background': 'transparent',
'border': 'none',
'color': '#fff',
'cursor': 'pointer',
'padding': '10px'
});
// Вставляем кнопку в нужное место
var $headerTools = $('.citizen-header__tools');
if ($headerTools.length) {
$headerTools.prepend($toggleButton);
} else {
$('.citizen-header__end').prepend($toggleButton);
}
// Находим целевое меню
var $targetMenu = $('.citizen-header__menu');
// Обработчик клика
$toggleButton.on('click', function() {
$targetMenu.toggleClass('is-visible');
});
}
});
});
window.toggleTheme = function() {
document.body.classList.toggle('dark-theme');
localStorage.setItem('theme', document.body.classList.contains('dark-theme') ? 'dark' : 'light');
};
document.addEventListener('DOMContentLoaded', function() {
var savedTheme = localStorage.getItem('theme');
if (savedTheme === 'dark') document.body.classList.add('dark-theme');
});
mw.hook('citizen.load').add(function() {
var button = document.createElement('button');
button.textContent = '🌓 Тема';
button.style.cssText = 'margin: 0 10px; padding: 8px 12px; cursor: pointer;';
button.onclick = toggleTheme;
var headerTools = document.querySelector('.citizen-header__tools');
if (headerTools) {
headerTools.insertBefore(button, headerTools.firstChild);
}
});
// Отключаем регистрацию Service Worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker.getRegistrations().then(function(registrations) {
for (var i = 0; i < registrations.length; i++) { // Исправлено: ES5-совместимый цикл
registrations[i].unregister();
}
});
}