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

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
/* Лого сайта Shegare */
document.querySelector('.citizen-header__logo').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="Logo" 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="CM Logo" aria-hidden="true" height="32" width="32"/>
    </a>
  </div>
`;


/* Перенос page-info в конец footer-places */
const pageInfo = document.querySelector('.page-info');
if (pageInfo) {
  document.querySelector('#footer-places').insertAdjacentHTML('afterEnd', pageInfo.innerHTML);
  pageInfo.innerHTML = null;
}


/* Begin логика цвета через headerColor Shegare */
const headerColor = document.querySelector('.headerColor');
if (headerColor) {
  const [colorBorder, colorBtn] = headerColor.innerText.split('|');


/* Лого сайта
  function headerRender(colorBorder, colorBtn) {
Shegare */
    document.querySelectorAll('h1, h2, h3 , h4, h5').forEach(header => {
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 (header.classList.contains('citizen-section-heading')) {
 
        const indicator = header.querySelector('.citizen-sections-enabled, .citizen-section-indicator');
 
        indicator.style.background = `rgb(${colorBtn})`;
//Перенос page-info в конец footer-places
        indicator.style.boxShadow = `0 0 20px 0px rgb(${colorBtn} / 20%)`;
document.getElementById('footer-places').insertAdjacentHTML('afterEnd', document.getElementsByClassName('page-info')[0].innerHTML);
document.getElementsByClassName('page-info')[0].innerHTML = null;


        const headline = header.querySelector('.mw-headline');
        headline.style.borderImage = `linear-gradient(to right top, ${colorBorder})`;
        headline.style.borderImageSlice = '1';
      } else if (header.classList.contains('citizen-section-heading--collapsed')) {
        const collapsedIndicator = header.querySelector('.citizen-section-indicator');
        collapsedIndicator.style.background = 'black';
        collapsedIndicator.style.boxShadow = 'unset';
      }
    });
  }


/* Begin логика цвета через headerColor
  headerRender(colorBorder, colorBtn);
Shegare */
 
if(document.getElementsByClassName('headerColor').length >= 1) {
  document.body.addEventListener('click', () => headerRender(colorBorder, colorBtn));
    var header = document.getElementsByClassName('headerColor');
 
    var colorBorder = '';
    var colorBtn = '';
 
    var i = 0;
    for(; header[0].innerHTML[i] !== '|'; i++)
    {
        colorBorder += header[0].innerHTML[i];
    }
    i++;
    for(; i < header[0].innerHTML.length; i++)
    {
        colorBtn += header[0].innerHTML[i];
    }
 
    headerRender (colorBorder, colorBtn);
 
    document.body.addEventListener('click', function() {
        headerRender(colorBorder, colorBtn);
    })
}
}


function headerRender (colorBorder, colorBtn) {
/* End логика цвета через headerColor Shegare */
    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 = ('rgb(' + colorBtn + ')');
            array[i].querySelector('.citizen-sections-enabled,.citizen-section-indicator').style.boxShadow  = ('0 0 20px 0px rgb(' + colorBtn + ' / 20%)');
            array[i].querySelector('.mw-headline').style.borderImage = ('linear-gradient(to right top, ' + colorBorder + ')');
            array[i].querySelector('.mw-headline').style.borderImageSlice = '1';


        }
/* Begin sidebar для ролей Shegare */
        else if(array[i].className === 'citizen-section-heading citizen-section-heading--collapsed') {
const jobsTableContainer = document.querySelector('.JobsTableContainer');
            array[i].querySelector('.citizen-sections-enabled,.citizen-section-heading--collapsed,.citizen-section-indicator').style.background = 'black';
if (jobsTableContainer) {
            array[i].querySelector('.citizen-sections-enabled,.citizen-section-heading--collapsed,.citizen-section-indicator').style.boxShadow = 'unset';
  if (window.innerWidth >= 1440) {
        }
    document.querySelector('#content').insertAdjacentHTML('afterbegin', jobsTableContainer.innerHTML);
    }
    document.querySelector('.JobsTableContainer').id = 'IdJobsTableContainer2';
    document.querySelector('#content').style.display = 'flex';
    document.querySelector('#bodyContent').style.minHeight = '1350px';
  } else {
    document.querySelector('#content').style.display = 'unset';
  }
}
}
/* End логика цвета через headerColor
/* End sidebar для ролей Shegare */
Shegare */
 


/* Begin sidebar для ролей
Shegare */
if(document.getElementsByClassName('JobsTableContainer').length >= 1) {
// Sidebar если экран > 1440
if(window.innerWidth >= 1440) {
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';
}
else {
document.getElementById('content').style.display = 'unset';
}
}


/* End sidebar для ролей
Shegare */




/* Для поиска и применения стилей к .citizen-table-wrapper
document.querySelectorAll('.citizen-table-wrapper').forEach(function(wrapper) {
document.querySelectorAll('.citizen-table-wrapper').forEach(function(wrapper) {
     if (wrapper.querySelector('.job_gear')) {
     if (wrapper.querySelector('.job_gear')) {
Строка 93: Строка 86:
     }
     }
});
});
*/

Версия от 09:36, 29 сентября 2024

/* Лого сайта Shegare */
document.querySelector('.citizen-header__logo').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="Logo" 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="CM Logo" aria-hidden="true" height="32" width="32"/>
    </a>
  </div>
`;

/* Перенос page-info в конец footer-places */
const pageInfo = document.querySelector('.page-info');
if (pageInfo) {
  document.querySelector('#footer-places').insertAdjacentHTML('afterEnd', pageInfo.innerHTML);
  pageInfo.innerHTML = null;
}

/* Begin логика цвета через headerColor Shegare */
const headerColor = document.querySelector('.headerColor');
if (headerColor) {
  const [colorBorder, colorBtn] = headerColor.innerText.split('|');

  function headerRender(colorBorder, colorBtn) {
    document.querySelectorAll('h1, h2, h3 , h4, h5').forEach(header => {
      if (header.classList.contains('citizen-section-heading')) {
        const indicator = header.querySelector('.citizen-sections-enabled, .citizen-section-indicator');
        indicator.style.background = `rgb(${colorBtn})`;
        indicator.style.boxShadow = `0 0 20px 0px rgb(${colorBtn} / 20%)`;

        const headline = header.querySelector('.mw-headline');
        headline.style.borderImage = `linear-gradient(to right top, ${colorBorder})`;
        headline.style.borderImageSlice = '1';
      } else if (header.classList.contains('citizen-section-heading--collapsed')) {
        const collapsedIndicator = header.querySelector('.citizen-section-indicator');
        collapsedIndicator.style.background = 'black';
        collapsedIndicator.style.boxShadow = 'unset';
      }
    });
  }

  headerRender(colorBorder, colorBtn);
  
  document.body.addEventListener('click', () => headerRender(colorBorder, colorBtn));
}

/* End логика цвета через headerColor Shegare */

/* Begin sidebar для ролей Shegare */
const jobsTableContainer = document.querySelector('.JobsTableContainer');
if (jobsTableContainer) {
  if (window.innerWidth >= 1440) {
    document.querySelector('#content').insertAdjacentHTML('afterbegin', jobsTableContainer.innerHTML);
    document.querySelector('.JobsTableContainer').id = 'IdJobsTableContainer2';
    document.querySelector('#content').style.display = 'flex';
    document.querySelector('#bodyContent').style.minHeight = '1350px';
  } else {
    document.querySelector('#content').style.display = 'unset';
  }
}
/* End sidebar для ролей Shegare */




document.querySelectorAll('.citizen-table-wrapper').forEach(function(wrapper) {
    if (wrapper.querySelector('.job_gear')) {
        wrapper.style.overflowX = 'unset'; // Применяем стиль
    }
});

// Для поиска и применения стилей к .citizen-overflow--right
document.querySelectorAll('.citizen-overflow--right').forEach(function(overflowRight) {
    if (overflowRight.querySelector('.job_gear')) {
        overflowRight.style.webkitMaskImage = 'unset'; // Для WebKit браузеров (Safari)
        overflowRight.style.maskImage = 'unset'; // Для остальных браузеров
    }
});