Dantes (обсуждение | вклад) Нет описания правки |
Dantes (обсуждение | вклад) Нет описания правки |
||
| Строка 82: | Строка 82: | ||
/* ----------------------------------------------------------Данте------------------------------------------------------------------------ */ | /* ----------------------------------------------------------Данте------------------------------------------------------------------------ */ | ||
/*Год 25*/ | |||
(function () { | (function () { | ||
var snowflakes = []; | var snowflakes = []; | ||
| Строка 138: | Строка 140: | ||
toggleButton.id = 'snow-toggle'; | toggleButton.id = 'snow-toggle'; | ||
toggleButton.className = 'snow-on'; | toggleButton.className = 'snow-on'; | ||
toggleButton.innerHTML = '⛄'; | |||
toggleButton.onclick = toggleSnowfall; | toggleButton.onclick = toggleSnowfall; | ||
| Строка 146: | Строка 149: | ||
document.addEventListener('DOMContentLoaded', function () { | document.addEventListener('DOMContentLoaded', function () { | ||
createToggleButton(); | createToggleButton(); | ||
startSnowfall(); | startSnowfall(); // Включаем снег по умолчанию | ||
}); | }); | ||
} else { | } else { | ||
createToggleButton(); | createToggleButton(); | ||
startSnowfall(); | startSnowfall(); // Включаем снег по умолчанию | ||
} | } | ||
})(); | })(); | ||
/*Год 25*/ | |||
/* ----------------------------------------------------------Главное меню лора------------------------------------------------------------------------ */ | /* ----------------------------------------------------------Главное меню лора------------------------------------------------------------------------ */ | ||
document.querySelectorAll('.custom-item').forEach(function(item) { | document.querySelectorAll('.custom-item').forEach(function(item) { | ||
Версия от 08:08, 30 ноября 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';
}
/* ----------------------------------------------------------Данте------------------------------------------------------------------------ */
/*Год 25*/
(function () {
var snowflakes = [];
var numSnowflakes = 50;
var snowActive = true;
var toggleButton;
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.remove();
snowflakes.splice(snowflakes.indexOf(snowflake), 1);
}, 10000);
}
function startSnowfall() {
if (snowActive) return;
snowActive = true;
for (var i = 0; i < numSnowflakes; i++) {
setTimeout(createSnowflake, i * 200);
}
setInterval(createSnowflake, 300);
}
function stopSnowfall() {
snowActive = false;
snowflakes.forEach(function (snowflake) {
snowflake.remove();
});
snowflakes = [];
}
function toggleSnowfall() {
if (snowActive) {
stopSnowfall();
toggleButton.classList.remove('snow-on');
toggleButton.classList.add('snow-off');
} else {
startSnowfall();
toggleButton.classList.remove('snow-off');
toggleButton.classList.add('snow-on');
}
}
function createToggleButton() {
var bodyContainer = document.querySelector('body');
toggleButton = document.createElement('div');
toggleButton.id = 'snow-toggle';
toggleButton.className = 'snow-on';
toggleButton.innerHTML = '⛄';
toggleButton.onclick = toggleSnowfall;
bodyContainer.appendChild(toggleButton);
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function () {
createToggleButton();
startSnowfall(); // Включаем снег по умолчанию
});
} else {
createToggleButton();
startSnowfall(); // Включаем снег по умолчанию
}
})();
/*Год 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" });
});
});
});