Dantes (обсуждение | вклад) Нет описания правки |
Dantes (обсуждение | вклад) (Отмена правки 14636, сделанной Dantes (обсуждение)) Метка: отмена |
||
| Строка 149: | Строка 149: | ||
/* ----------------------------------------------------------Главное меню планет------------------------------------------------------------------------ */ | /* ----------------------------------------------------------Главное меню планет------------------------------------------------------------------------ */ | ||
(function() { | document.addEventListener("DOMContentLoaded", function () { | ||
var cards = document.querySelectorAll(".planet-card"); | |||
var panel = document.querySelector(".description-panel"); | |||
var planetName = panel.querySelector(".planet-name"); | |||
var planetDescription = panel.querySelector(".planet-description"); | |||
Array.prototype.forEach.call(cards, function (card) { | |||
card.addEventListener("click", function () { | |||
var name = card.querySelector("h3").textContent; | |||
var description = card.getAttribute("data-description"); | |||
} | planetName.textContent = name; | ||
}) | planetDescription.textContent = description; | ||
Array.prototype.forEach.call(cards, function (c) { | |||
c.classList.remove("active"); | |||
}); | |||
card.classList.add("active"); | |||
panel.scrollIntoView({ behavior: "smooth", block: "center" }); | |||
}); | |||
}); | |||
}); | |||
Версия от 07:46, 8 января 2025
/* ----------------------------------------------Блок 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';
}
/* ----------------------------------------------------------Данте------------------------------------------------------------------------ */
/*Год 25*/
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><div id="snow-toggle-container"><div id="snow-toggle">⛄</div></div>';
(function () {
var snowflakes = [];
var numSnowflakes = 50;
var snowActive = localStorage.getItem('snowActive') === 'true';
var toggleButton;
var snowInterval;
function createSnowflake() {
var snowflake = document.createElement('div');
snowflake.className = 'snowflake';
snowflake.innerHTML = '❄';
snowflake.style.left = Math.random() * 100 + 'vw';
snowflake.style.animationDuration = 5 + Math.random() * 5 + 's';
snowflake.style.fontSize = Math.random() * 10 + 10 + 'px';
snowflake.style.animationDelay = Math.random() * 5 + 's';
document.body.appendChild(snowflake);
snowflakes.push(snowflake);
setTimeout(function () {
snowflake.parentNode.removeChild(snowflake);
snowflakes.splice(snowflakes.indexOf(snowflake), 1);
}, 10000);
}
function startSnowfall() {
if (snowActive) return;
snowActive = true;
localStorage.setItem('snowActive', 'true');
for (var i = 0; i < numSnowflakes; i++) {
setTimeout(createSnowflake, i * 200);
}
snowInterval = setInterval(createSnowflake, 300);
}
function stopSnowfall() {
snowActive = false;
localStorage.setItem('snowActive', 'false');
clearInterval(snowInterval);
for (var i = 0; i < snowflakes.length; i++) {
snowflakes[i].parentNode.removeChild(snowflakes[i]);
}
snowflakes = [];
}
function toggleSnowfall() {
if (snowActive) {
stopSnowfall();
toggleButton.className = 'snow-off';
} else {
startSnowfall();
toggleButton.className = 'snow-on';
}
}
function createToggleButton() {
toggleButton = document.getElementById('snow-toggle');
toggleButton.className = snowActive ? 'snow-on' : 'snow-off';
toggleButton.onclick = toggleSnowfall;
if (snowActive) startSnowfall();
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', createToggleButton);
} else {
createToggleButton();
}
})();
/*Год 25*/
/* ----------------------------------------------------------Главное меню лора------------------------------------------------------------------------ */
document.querySelectorAll('.custom-item').forEach(function(item) {
item.addEventListener('click', function() {
window.location.href = item.querySelector('a').getAttribute('href');
});
});
/* ----------------------------------------------------------Главное меню планет------------------------------------------------------------------------ */
document.addEventListener("DOMContentLoaded", function () {
var cards = document.querySelectorAll(".planet-card");
var panel = document.querySelector(".description-panel");
var planetName = panel.querySelector(".planet-name");
var planetDescription = panel.querySelector(".planet-description");
Array.prototype.forEach.call(cards, function (card) {
card.addEventListener("click", function () {
var name = card.querySelector("h3").textContent;
var description = card.getAttribute("data-description");
planetName.textContent = name;
planetDescription.textContent = description;
Array.prototype.forEach.call(cards, function (c) {
c.classList.remove("active");
});
card.classList.add("active");
panel.scrollIntoView({ behavior: "smooth", block: "center" });
});
});
});