MediaWiki:Common.js

From TwentyOneWiki
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */

mw.loader.using(['mediawiki.util'], function() {
    var theme = mw.config.get('theme'); // Получить активную тему
    if (theme === 'light') {
        mw.util.addCSS('@import url("/extensions/ThemeToggle/modules/dropdownSwitcher/dark.css");');
    } else if (theme === 'dark') {
        mw.util.addCSS('@import url("/extensions/ThemeToggle/modules/dropdownSwitcher/dark.css");');
    }
});

document.addEventListener('DOMContentLoaded', function() {
  const toggle = document.querySelector('.mw-customtoggle-myDivision23');
  const collapsible = document.getElementById('mw-customcollapsible-myDivision23');

  toggle.addEventListener('click', function() {
    collapsible.classList.toggle('open');
  });
});






// Получаем кнопку Themetoggle
const themeToggleBtn = document.querySelector('.theme-toggle-btn');

const infoboxElements = document.querySelectorAll('.infobox');

themeToggleBtn.addEventListener('click', () => {
    // Проверяем, какая тема выбрана, и соответственно применяем стили к infobox
    if (themeToggleBtn.classList.contains('dark-theme')) {
        infoboxElements.forEach(element => {
            element.style.backgroundColor = '#333';
            element.style.color = '#fff';
        });
    } else {
        infoboxElements.forEach(element => {
            element.style.backgroundColor = '#fff';
            element.style.color = '#000';
        });
    }
});

// Функция для генерации случайной страницы
function redirectToRandomPage() {
    var pages = ['Page1', 'Page2', 'Page3']; // Замените на ваши страницы
    var randomPage = pages[Math.floor(Math.random() * pages.length)];
    window.location.href = mw.config.get('wgScript') + '?title=' + encodeURIComponent(randomPage);
}

// Добавляем обработчик к ссылке
$(document).ready(function() {
    $('#random-link').click(function(event) {
        event.preventDefault(); // Предотвращаем стандартное действие ссылки
        redirectToRandomPage();
    });
});

// Добавляем таблицу в нижний левый угол на всех страницах
$(document).ready(function() {
    $('body').append('<div id="corner-table" class="wikitable" style="position: absolute; bottom: 0; left: 0; z-index: 1000;"><table><tr><td>Тест</td></tr></table></div>');
});


document.addEventListener("DOMContentLoaded", function() {
    var themeElement = document.querySelector("body #p-personal li#p-themes");

    if (themeElement) {
        themeElement.style.borderRight = "1px solid #333";
        themeElement.style.padding = "0 .5em";
        themeElement.style.marginRight = "0";
        themeElement.style.position = "relative";
        themeElement.style.listStyle = "none";
        themeElement.style.color = "black"; // Черный цвет текста
    }
})