MediaWiki:Common.js: различия между версиями

Страница интерфейса MediaWiki
мНет описания правки
Метка: отменено
мНет описания правки
Метка: отменено
Строка 25: Строка 25:
     console.error('Ошибка в скрипте темы:', error);
     console.error('Ошибка в скрипте темы:', error);
}
}
});
// Отключаем регистрацию Service Worker, если она есть
if ('serviceWorker' in navigator) {
    navigator.serviceWorker.getRegistrations().then(function(registrations) {
        for (let registration of registrations) {
            registration.unregister();
        }
    });
}

Версия от 14:36, 1 апреля 2025

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);
    }
});
    try {
    // Весь ваш код
} catch (error) {
    console.error('Ошибка в скрипте темы:', error);
}
// Отключаем регистрацию Service Worker, если она есть
if ('serviceWorker' in navigator) {
    navigator.serviceWorker.getRegistrations().then(function(registrations) {
        for (let registration of registrations) {
            registration.unregister();
        }
    });
}