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

Страница интерфейса MediaWiki
мНет описания правки
Метка: отменено
мНет описания правки
Метка: отменено
Строка 5: Строка 5:
};
};


// Загрузка сохраненной темы
// Загружаем сохраненную тему
document.addEventListener('DOMContentLoaded', function() {
document.addEventListener('DOMContentLoaded', function() {
     const theme = localStorage.getItem('theme');
     const savedTheme = localStorage.getItem('theme');
     if (theme === 'dark') document.body.classList.add('dark-theme');
     if (savedTheme === 'dark') {
        document.body.classList.add('dark-theme');
    }
});
});


// Добавляем кнопку через jQuery
// Добавляем кнопку в интерфейс Citizen
mw.loader.using('jquery').then(function() {
mw.hook('citizen.load').add(function() {
     $(function() {
     // Создаем кнопку
        const button = $('<button>')
    const button = document.createElement('button');
            .text('🌓 Тема')
    button.innerHTML = '🌓 Тема';
            .css({
    button.style.cssText = `
                position: 'fixed',
        margin: 0 10px;
                bottom: '20px',
        padding: 8px 12px;
                right: '20px',
        cursor: pointer;
                zIndex: 1000,
        background: var(--background-color);
                padding: '10px',
        color: var(--color-base);
                cursor: 'pointer',
        border: 1px solid var(--border-color-base);
                background: '#fff',
        border-radius: 4px;
                border: '1px solid #000'
    `;
            })
    button.onclick = toggleTheme;
            .on('click', toggleTheme);


         $('body').append(button);
    // Вставляем кнопку в верхнюю панель Citizen
     });
    const headerTools = document.querySelector('.citizen-header__tools');
    if (headerTools) {
         headerTools.prepend(button);
    } else {
        // Альтернативное размещение, если структура изменилась
        document.querySelector('.citizen-header').append(button);
     }
});
});

Версия от 14:12, 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() {
    const savedTheme = localStorage.getItem('theme');
    if (savedTheme === 'dark') {
        document.body.classList.add('dark-theme');
    }
});

// Добавляем кнопку в интерфейс Citizen
mw.hook('citizen.load').add(function() {
    // Создаем кнопку
    const button = document.createElement('button');
    button.innerHTML = '🌓 Тема';
    button.style.cssText = `
        margin: 0 10px;
        padding: 8px 12px;
        cursor: pointer;
        background: var(--background-color);
        color: var(--color-base);
        border: 1px solid var(--border-color-base);
        border-radius: 4px;
    `;
    button.onclick = toggleTheme;

    // Вставляем кнопку в верхнюю панель Citizen
    const headerTools = document.querySelector('.citizen-header__tools');
    if (headerTools) {
        headerTools.prepend(button);
    } else {
        // Альтернативное размещение, если структура изменилась
        document.querySelector('.citizen-header').append(button);
    }
});