|
Метки: замена ручная отмена |
Строка 1: |
Строка 1: |
| // MediaWiki:Common.js | | /* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ |
| 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'
| |
| });
| |
|
| |
|
| // Вставляем кнопку в нужное место
| | // console.log("Привет"); |
| 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();
| |
| }
| |
| });
| |
| }
| |