Dantes (обсуждение | вклад) Нет описания правки |
Dantes (обсуждение | вклад) Нет описания правки |
||
| Строка 95: | Строка 95: | ||
content.style.display = 'block'; | content.style.display = 'block'; | ||
} | } | ||
this.classList.toggle('active'); | |||
}); | }); | ||
} | } | ||
| Строка 102: | Строка 104: | ||
} | } | ||
document.addEventListener('DOMContentLoaded', initJobCollapsibles); | function highlightJobHeaders() { | ||
var headers = document.querySelectorAll('.job_header'); | |||
for (var i = 0; i < headers.length; i++) { | |||
headers[i].addEventListener('mouseover', function() { | |||
this.style.backgroundColor = '#3e3e4b'; | |||
}); | |||
headers[i].addEventListener('mouseout', function() { | |||
this.style.backgroundColor = ''; | |||
}); | |||
} | |||
} | |||
function toggleContentDisplay() { | |||
var toggleButtons = document.querySelectorAll('.job_toggle_button'); | |||
for (var i = 0; i < toggleButtons.length; i++) { | |||
toggleButtons[i].addEventListener('click', function() { | |||
var content = document.querySelector(this.dataset.target); | |||
if (content.style.display === 'block') { | |||
content.style.display = 'none'; | |||
} else { | |||
content.style.display = 'block'; | |||
} | |||
}); | |||
} | |||
} | |||
document.addEventListener('DOMContentLoaded', function() { | |||
initJobCollapsibles(); | |||
highlightJobHeaders(); | |||
toggleContentDisplay(); | |||
}); | |||
Версия от 01:05, 18 ноября 2024
/* ----------------------------------------------Блок Shegare ---------------------------------------------------------------------------------*/
/* Лого сайта
Shegare */
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>';
/* Перенос page-info в конец footer-places
Shegare */
document.getElementById('footer-places').insertAdjacentHTML('afterEnd', document.getElementsByClassName('page-info')[0].innerHTML);
document.getElementsByClassName('page-info')[0].innerHTML = null;
/* Begin логика цвета через headerColor
Shegare */
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 = '';
var 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) && header[0].innerHTML.length > 0) {
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';
}
}
}
/* End логика цвета через headerColor
Shegare */
/* Begin sidebar для ролей
Shegare */
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';
}
/* ----------------------------------------------Блок Shegare ---------------------------------------------------------------------------------*/
function initJobCollapsibles() {
try {
var collapsibles = document.querySelectorAll('.job_collapsible');
for (var i = 0; i < collapsibles.length; i++) {
collapsibles[i].addEventListener('click', function() {
var content = this.nextElementSibling;
if (content.style.display === 'block') {
content.style.display = 'none';
} else {
content.style.display = 'block';
}
this.classList.toggle('active');
});
}
} catch (error) {
console.error('Ошибка при инициализации скрытых элементов:', error);
}
}
function highlightJobHeaders() {
var headers = document.querySelectorAll('.job_header');
for (var i = 0; i < headers.length; i++) {
headers[i].addEventListener('mouseover', function() {
this.style.backgroundColor = '#3e3e4b';
});
headers[i].addEventListener('mouseout', function() {
this.style.backgroundColor = '';
});
}
}
function toggleContentDisplay() {
var toggleButtons = document.querySelectorAll('.job_toggle_button');
for (var i = 0; i < toggleButtons.length; i++) {
toggleButtons[i].addEventListener('click', function() {
var content = document.querySelector(this.dataset.target);
if (content.style.display === 'block') {
content.style.display = 'none';
} else {
content.style.display = 'block';
}
});
}
}
document.addEventListener('DOMContentLoaded', function() {
initJobCollapsibles();
highlightJobHeaders();
toggleContentDisplay();
});