MediaWiki:Common.js

Страница интерфейса MediaWiki

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
if (!document.querySelector('.logo1')) {
  document.getElementsByClassName('citizen-header__logo')[0].innerHTML = `
    <div class="logo1">
      <a href="https://spacestories.club/index.php?title=Заглавная страница" class="mw-logo citizen-header__button" title="Перейти на заглавную страницу">
        <img class="mw-logo-icon" src="/resources/assets/logo.png" alt="" aria-hidden="true" height="32" width="32">
      </a>
    </div>
    <div class="logo2">
      <a href="https://spacestories.club/index.php?title=Colonial_Marines" class="mw-logo citizen-header__button" title="Перейти на заглавную страницу CM">
        <img class="mw-logo-icon" src="/images/0/0d/CMlog.png" alt="" aria-hidden="true" height="32" width="32">
      </a>
    </div>`;
}

if (document.getElementsByClassName('page-info').length > 0 && document.getElementById('footer-places')) {
  document.getElementById('footer-places').insertAdjacentHTML('afterEnd', document.getElementsByClassName('page-info')[0].innerHTML);
  document.getElementsByClassName('page-info')[0].innerHTML = '';
}

if (document.getElementsByClassName('headerColor').length >= 1) {
  var isValidColor = function(color) {
    var el = document.createElement('div');
    el.style.backgroundColor = color;
    return el.style.backgroundColor ? true : false;
  };

  var header = document.getElementsByClassName('headerColor');
  var colorBorder = '', colorBtn = '';
  var i = 0;

  for (; header[0].innerHTML[i] !== '|' && i < header[0].innerHTML.length; i++) {
    colorBorder += header[0].innerHTML[i];
  }

  i++;
  for (; i < header[0].innerHTML.length; i++) {
    colorBtn += header[0].innerHTML[i];
  }

  if (isValidColor(colorBorder) && isValidColor(colorBtn)) {
    headerRender(colorBorder, colorBtn);
    document.body.addEventListener('click', function() {
      headerRender(colorBorder, colorBtn);
    });
  } else {
    throw "headerColor";
  }
}

function headerRender(colorBorder, colorBtn) {
  var array = document.querySelectorAll('h1, h2, h3, h4, h5');
  for (var i = 0; i < array.length; i++) {
    if (array[i].className === 'citizen-section-heading') {
      array[i].querySelector('.citizen-sections-enabled,.citizen-section-indicator').style.background = colorBtn;
      array[i].querySelector('.citizen-sections-enabled,.citizen-section-indicator').style.boxShadow = '0 0 20px 0px ' + colorBtn + 'cc';
      array[i].querySelector('.mw-headline').style.borderImage = 'linear-gradient(to right top, ' + colorBorder + ', black)';
      array[i].querySelector('.mw-headline').style.borderImageSlice = '1';
    } else if (array[i].className === 'citizen-section-heading citizen-section-heading--collapsed') {
      array[i].querySelector('.citizen-sections-enabled,.citizen-section-heading--collapsed,.citizen-section-indicator').style.background = 'black';
      array[i].querySelector('.citizen-sections-enabled,.citizen-section-heading--collapsed,.citizen-section-indicator').style.boxShadow = 'unset';
    }
  }
}

if (document.getElementsByClassName('JobsTableContainer').length >= 1) {
  document.getElementById('content').insertAdjacentHTML('afterbegin', document.getElementsByClassName('JobsTableContainer')[0].innerHTML);
  document.getElementById('IdJobsTableContainer1').id = 'IdJobsTableContainer2';
  document.getElementById('content').style.display = 'flex';
  document.getElementById('bodyContent').style.minHeight = '1350px';
}

function filterEvents(category) {
  const events = document.querySelectorAll('.event');
  events.forEach(event => {
    if (event.dataset.category === category) {
      event.style.display = 'block';
    } else {
      event.style.display = 'none';
    }
  });
}