// ==UserScript==
// @name Better Journal
// @version 2.6.2
// @description Repainted and more functionally Journal
// @author @dsvl0
// @match https://journal.top-academy.ru/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=top-academy.ru
// @grant none
// @license MIT
// @namespace https://greasyfork.org/users/1212116
// ==/UserScript==
/* eslint no-eval: 0 */
let AmIADeveloper = false
let Version = GM_info.script.version;
let UpdateFound=false;
let SettingsCreated=false;
let timeout=40;
let loadedtimes=0;
let PanelSpawned=0;//For Average Marks
let LoadedBearer=null;
var AllThemeDivs=null;
var ShiftTime = 0;
let Ticks=0;
let StyleLoaded=0;
let userInfo = null;
const today = new Date();
const month = today.getMonth();
const day = today.getDate();
let OriginalAvatar=null;
var IgnoreUpdate = false;
//Cherry
//// 583B53 362533 450D3A 340A2C
let Accent_MainBg="#333333";
let Accent0="#3b3b3b";
let Accent1="#333333";
let Accent2="#2C2C2C";
let Accent3="#101010";
let Accent_ActDay="#2D782D";//Shed
let SettingHeight="0";
var UserInfo = null;// Need to identificate user on BetterJournal Server
let UserCId=null;
var Leader1Info = null;
var Leader1Names = null;
var Leader1Amounts = null;
var Leader1Photo = null;
var Leader1IDS = null;
var Leader2Info = null;
var Leader2Names = null;
var Leader2Amounts = null;
var Leader2Photo = null;
var Leader2IDS = null;
var Leader2Positions = null;
var StudentsCount = 0;
var StudentsStreamCount = 0;
var NeedToMark=true;
var canSiteRKM = true;
var WallPaperInner = '<p> Не удалось получить список обоев </p>';
var XTendedDeInject = false;
function CreateSettings(){
try{
SettingHeight=1050;
const ThemeNum = Number(localStorage.getItem("BJ.DefStyle"));
var MainFloat = document.querySelectorAll('router-outlet')[(document.querySelectorAll('router-outlet').length)-1]
var newDiv = document.createElement('div');
const InputStyle=`
border-radius: 7px;
cursor: text;
height: fit-content;
margin-bottom: 3px;
margin-left: 10px;
width: -webkit-fill-available;
border: solid 1px white;
background: `+Accent3.slice(0,7)+`;
padding-left: 5px;
color: white;
`;
// 1 checkbox = + 30 px
newDiv.className = 'BJSettings';
newDiv.id="SettingsID";
newDiv.style.width="-webkit-fill-available";
newDiv.style.borderRadius="25px";
newDiv.style.position="relative";
newDiv.style.marginLeft="18px";
newDiv.style.overflow="hidden";
newDiv.style.height="0px";
newDiv.style.marginRight="13px";
newDiv.style.paddingBottom="10px";
newDiv.style.marginBottom="10px";
newDiv.style.overflowY='auto';
newDiv.style.transition="all 0.7s ";
newDiv.style.paddingLeft="10px";
newDiv.style.paddingRight="10px";
newDiv.style.opacity="0";
newDiv.style.background=Accent0;
var Div00 = document.createElement('div');
Div00.style.marginTop="10px";
var checkbox = document.createElement('input');
checkbox.type = "checkbox";
checkbox.id = "Check1";
var label = document.createElement('label')
label.style.marginLeft="10px";
label.style.color="white";
label.setAttribute("for", "Check1");
label.appendChild(document.createTextNode('Видео на заднем плане по ссылке: '));
var HtmlApplyLink = document.createElement('button');
HtmlApplyLink.style.padding="5px";
HtmlApplyLink.style.marginLeft="5px";
HtmlApplyLink.style.marginRight="5px";
HtmlApplyLink.style.cursor="pointer";
HtmlApplyLink.style.background=Accent0;
HtmlApplyLink.style.color="white";
HtmlApplyLink.style.borderRadius="4000px";
HtmlApplyLink.textContent="Применить";
var HtmlVideoLink = document.createElement('input');
HtmlVideoLink.id="HTMLIdVideoLink";
HtmlVideoLink.type = "text";
HtmlVideoLink.placeholder="Ссылка на видео (URL)"
HtmlVideoLink.style=InputStyle;
var HtmlThemeChooseLink = document.createElement('button');
HtmlThemeChooseLink.id="AllVideoPlayGrounds"
HtmlThemeChooseLink.style="color: white; padding: 5px; cursor: pointer"
HtmlThemeChooseLink.textContent="Все видеофоны";
HtmlThemeChooseLink.addEventListener('click', function() {
DocToast(WallPaperInner, false, 'min-width: 36%')
});
if (localStorage.getItem("BJ.VideoPlayback") !== null) {HtmlVideoLink.value=localStorage.getItem("BJ.VideoPlayback")}
if (localStorage.getItem("BJ.VideoPlayback")!==null){checkbox.checked=true;}
checkbox.addEventListener('change', function() {
if (this.checked === false){
localStorage.removeItem("BJ.VideoPlayback");
document.getElementById('MovingBG').style.display='none';
document.getElementById('ColorMovement').style.display='none';
document.getElementById('VideoPlayBackBg').remove()
} else {
localStorage.setItem("BJ.VideoPlayback", HtmlThemeChooseLink.value);
document.getElementById('MovingBG').style.display='display';
document.getElementById('ColorMovement').style.display='flex';
}
});
HtmlApplyLink.onclick = function() {
if (checkbox.checked){
localStorage.setItem("BJ.VideoPlayback", HtmlVideoLink.value);
var VideoId = document.getElementById("VideoPlayBackBg");
VideoId.remove();
}
};
var Div00_Live = document.createElement('div');
Div00_Live.id="MovingBG"
Div00_Live.style.marginTop="5px";
Div00_Live.style.marginLeft="20px";
var checkbox_Live = document.createElement('input');
checkbox_Live.type = "checkbox";
checkbox_Live.id = "Check1_Live";
checkbox_Live.checked = localStorage.getItem("BJ.AnimatedVideoBackground") === 'true'
checkbox_Live.addEventListener('change', function() {
Toast('Применяем изменения...')
localStorage.setItem("BJ.AnimatedVideoBackground",this.checked);
if (this.checked === false){
document.removeEventListener('mousemove', mouseMoveHandler);
setTimeout(function() {
if (localStorage.getItem("BJ.AnimatedVideoBackground") !== 'true') document.getElementById('VideoPlayBackBg').style.transition="all ease .7s, filter .5s";
document.getElementById('VideoPlayBackBg').style.transform=null;
setTimeout(function() {
document.getElementById('VideoPlayBackBg').style.transition="scale ease 1s, filter .5s";
}, 800)
}, 1000)
} else {
CreateMovingBg()
}
});
var label_Live = document.createElement('label')
label_Live.style.marginLeft="10px";
label_Live.style.color="white";
label_Live.setAttribute("for", "Check1_Live");
label_Live.appendChild(document.createTextNode('Создать движение для видео-фона (экспериметнально) '));
var Div00_ColorMovement = document.createElement('div');
Div00_ColorMovement.id="ColorMovement"
Div00_ColorMovement.style.marginBottom="5px";
Div00_ColorMovement.style.display="flex";
Div00_ColorMovement.style.marginLeft="20px";
var checkbox_ColorMovement = document.createElement('input');
checkbox_ColorMovement.type = "checkbox";
checkbox_ColorMovement.id = "Check1_ColorMovement";
checkbox_ColorMovement.checked = localStorage.getItem("BJ.ColorMovementDegrees") !== null
checkbox_ColorMovement.addEventListener('change', function() {
let ColorMovementSliderValue = document.getElementById('ColorMovementSliderID')
if (this.checked){
localStorage.setItem("BJ.ColorMovementDegrees", ColorMovementSliderValue.value)
ColorMovementSliderValue.removeAttribute('disabled')
window.ColorMovementChange(document.getElementById('ColorMovementSliderID').value)
try{
document.getElementById('video#VideoPlayBackBg').style.filter="hue-rotate("+ColorMovementSliderValue.value+"deg)"
}catch(e){}
} else {
localStorage.removeItem("BJ.ColorMovementDegrees")
ColorMovementSliderValue.setAttribute('disabled', true)
}
});
window.ColorMovementChange = function(value){
let totalPercent = (value/360*100).toFixed(2)+''
document.getElementById('Label_ColorMovementVisiblePercent').textContent = totalPercent.slice(0,4)+'%'
localStorage.setItem("BJ.ColorMovementDegrees",value)
}
var FlexDiv = document.createElement('div')
FlexDiv.style="width: 100%";
var ColorMovementSlider = document.createElement('input');
ColorMovementSlider.max="360";
ColorMovementSlider.min="0";
ColorMovementSlider.id="ColorMovementSliderID"
ColorMovementSlider.type="range"
ColorMovementSlider.setAttribute('oninput',"window.ColorMovementChange(this.value)")
ColorMovementSlider.step="1";
ColorMovementSlider.value="0";
ColorMovementSlider.style='top: 2px; position: relative; left: 2px; width: 15%'
var label_ColorMovement = document.createElement('label')
label_ColorMovement.style.margin="0";
label_ColorMovement.style.marginLeft="10px";
label_ColorMovement.style.color="white";
label_ColorMovement.id="Label_ColorMovement"
label_ColorMovement.setAttribute("for", "Check1_ColorMovement");
label_ColorMovement.appendChild(document.createTextNode('Сдвиг RGB цветов для окрашивания фона в новые цвета: '));
var label_ColorMovementPercent = document.createElement('label')
label_ColorMovementPercent.style.margin="0";
label_ColorMovementPercent.style.marginLeft="10px";
label_ColorMovementPercent.className = 'HighLightedText';
label_ColorMovementPercent.id="Label_ColorMovementVisiblePercent"
label_ColorMovementPercent.appendChild(document.createTextNode('0.00%'));
FlexDiv.appendChild(label_ColorMovement)
FlexDiv.appendChild(ColorMovementSlider)
FlexDiv.appendChild(label_ColorMovementPercent)
var Div01 = document.createElement('div');
var checkbox2 = document.createElement('input');
checkbox2.type = "checkbox";
checkbox2.id = "Check2";
var label0 = document.createElement('label')
label0.style.marginLeft="10px";
label0.style.color="white";
label0.setAttribute("for", "Check2");
label0.appendChild(document.createTextNode('Сделать использование боковой панели приятнее'));
if (localStorage.getItem("BJ.LiteBar")!==null){checkbox2.checked=true;}
var Div03 = document.createElement('div');
Div03.style.marginLeft='20px';
Div03.id="BJ_Div03";
var checkbox03 = document.createElement('input');
checkbox03.type = "checkbox";
checkbox03.id = "Check03";
var label03 = document.createElement('label')
label03.style.marginLeft="10px";
label03.style.color="white";
label03.setAttribute("for", "Check03");
label03.appendChild(document.createTextNode('Прозрачность боковой панели: '));
function TransSet(){
var RangeSlide = document.createElement('p');
RangeSlide.className = 'HighLightedText';
RangeSlide.textContent=Number(localStorage.getItem("BJ.TransparentPanel"))+"%";
RangeSlide.id = "RangeTransBarSlide";
var TransparencySlider = document.createElement('input');
TransparencySlider.max="99";
TransparencySlider.min="0";
TransparencySlider.id="TransparencySliderID"
TransparencySlider.type="range"
TransparencySlider.step="1";
TransparencySlider.style='top: 2px; position: relative;'
if (document.getElementById('TransparencySliderID') === null){
TransparencySlider.value=localStorage.getItem("BJ.TransparentPanel")
Div03.appendChild(TransparencySlider);
}
TransparencySlider.value=0;
if (localStorage.getItem("BJ.TransparentPanel") !== null) {TransparencySlider.value = Number(localStorage.getItem("BJ.TransparentPanel"))}
if (document.getElementById('RangeTransBarSlide') === null){
Div03.appendChild(RangeSlide);
}
window.CreateTransparencyListener = function(){
TransparencySlider.addEventListener("input", (event) => {
let RangeSlide = document.getElementById('RangeTransBarSlide')
let TargetValue = event.target.value
if (checkbox03.checked){
if (TargetValue<10) TargetValue="0"+TargetValue;
RangeSlide.textContent=(event.target.value)+"%";
localStorage.setItem("BJ.TransparentPanel", TargetValue)
}
})
}
window.CreateTransparencyListener()
}
if (localStorage.getItem("BJ.TransparentPanel")!==null){checkbox03.checked=true; }
checkbox03.addEventListener('change', function() {
console.log(this.checked)
if (this.checked) {
TransSet()
if (localStorage.getItem("BJ.TransparentPanel")===0 || localStorage.getItem("BJ.TransparentPanel")===null) {
localStorage.setItem("BJ.TransparentPanel", 10)
}
document.getElementById("RangeTransBarSlide").style.display='inline-block';
document.getElementById("TransparencySliderID").removeAttribute('disabled');
} else {
document.getElementById("RangeTransBarSlide").style.display='none';
document.getElementById("TransparencySliderID").disabled='true';
localStorage.removeItem("BJ.TransparentPanel");
}
});
checkbox2.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.LiteBar","1");
document.getElementById("Check03").removeAttribute('disabled')
} else {
localStorage.removeItem("BJ.LiteBar");
var OverlayElement = document.getElementById("LiteBarId");
OverlayElement.remove();
document.getElementById("Check03").setAttribute('disabled', true)
}
});
var Div04 = document.createElement('div');
var checkbox04 = document.createElement('input');
checkbox04.type = "checkbox";
checkbox04.id = "Check04";
var label04 = document.createElement('label')
label04.style.marginLeft="10px";
label04.style.color="white";
label04.setAttribute("for", "Check04");
label04.appendChild(document.createTextNode('Убрать изображение с бокового меню'));
checkbox04.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.NonBarImage","1");
if (localStorage.getItem("BJ.BarLink") !== null) {alert('Отключите параметр "Своё фото на боковой панели" для применения функции')}
} else {
localStorage.removeItem("BJ.NonBarImage");
}
});
if (localStorage.getItem("BJ.NonBarImage")!==null){checkbox04.checked=true;}
if (document.getElementsByClassName("select-univercity")[1].textContent === 'Группа: 9/2-РПО-23/1' || document.getElementsByClassName("select-univercity")[1].textContent === 'Группа: 9/1-РПО-23/1' ){
var Div000 = document.createElement('div');
Div000.style.display = 'flex'
var checkbox000 = document.createElement('input');
checkbox000.type = "checkbox";
checkbox000.id = "Check000";
var label000 = document.createElement('label')
label000.style = "margin-left: 10px; color:white;";
label000.setAttribute("for", "Check000");
label000.appendChild(document.createTextNode('Дайте уникальное имя для Миненко Алексей Павловича: '));
var ALM_Name = document.createElement('input');
ALM_Name.id="ALMName";
ALM_Name.style=InputStyle;
ALM_Name.type = "text";
if (localStorage.getItem("BJ.ALPName") !== null) {ALM_Name.value=localStorage.getItem("BJ.ALPName")}
if (localStorage.getItem("BJ.ALPName")!==null){checkbox000.checked=true;}
checkbox000.addEventListener('change', function() {
if (this.checked){
localStorage.setItem("BJ.ALPName", ALM_Name.value);
} else {
localStorage.removeItem("BJ.ALPName");
}
});
ALM_Name.addEventListener('input', function (evt) {
if (checkbox000.checked){
localStorage.setItem("BJ.ALPName", ALM_Name.value);
}
});
}
var Div9 = document.createElement('div');
Div9.style.display='flex';
var checkbox9 = document.createElement('input');
checkbox9.type = "checkbox";
checkbox9.id = "Check9";
var label9 = document.createElement('label')
label9.style.marginLeft="10px";
label9.style.color="white";
label9.setAttribute("for", "Check9");
label9.appendChild(document.createTextNode('Установите свою аватарку. Её не смогут увидель люди (по URL) (Поддерживается GIF):'));
var AVTLink = document.createElement('input');
AVTLink.id="AVTLink";
AVTLink.type = "text";
AVTLink.style = InputStyle;
if (localStorage.getItem("BJ."+document.querySelector("a.fio-stud").textContent+"AVTLink") !== null) {AVTLink.value=localStorage.getItem("BJ."+document.querySelector("a.fio-stud").textContent+"AVTLink")}
if (localStorage.getItem("BJ."+document.querySelector("a.fio-stud").textContent+"AVTLink")!==null){checkbox9.checked=true;}
checkbox9.addEventListener('change', function() {
if (this.checked){
localStorage.setItem("BJ."+document.querySelector("a.fio-stud").textContent+"AVTLink", AVTLink.value);
} else {
localStorage.removeItem("BJ."+document.querySelector("a.fio-stud").textContent+"AVTLink");
}
});
AVTLink.addEventListener('input', function (evt) {
if (checkbox9.checked){
localStorage.setItem("BJ."+document.querySelector("a.fio-stud").textContent+"AVTLink", AVTLink.value);
}
});
var Div10 = document.createElement('div');
var checkbox10 = document.createElement('input');
checkbox10.type = "checkbox";
checkbox10.id = "Check10";
var label10 = document.createElement('label')
label10.style.marginLeft="10px";
label10.style.color="white";
label10.setAttribute("for", "Check10");
label10.appendChild(document.createTextNode('Закрепить и минимизировать верхнюю панель'));
checkbox10.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.LevBar","1");
} else {
localStorage.removeItem("BJ.LevBar");
if (document.getElementById("LevitationBar") !== null) {
document.getElementById("LevitationBar").removeAttribute("id");
}
}
});
if (localStorage.getItem("BJ.LevBar")!==null){checkbox10.checked=true;}
var Div12 = document.createElement('div');
var checkbox12 = document.createElement('input');
checkbox12.type = "checkbox";
checkbox12.id = "Check12";
var label12 = document.createElement('label')
label12.style.marginLeft="10px";
label12.style.color="white";
label12.setAttribute("for", "Check12");
label12.appendChild(document.createTextNode('Оптимизация контента на главной странице (Оставляет последние 70 элементов в графе "Ваши награды")'));
if (localStorage.getItem("BJ.OMP")!==null){checkbox12.checked=true;}
checkbox12.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.OMP","1");
} else {
localStorage.removeItem("BJ.OMP");
}
});
var Div13 = document.createElement('div');
var checkbox13 = document.createElement('input');
checkbox13.type = "checkbox";
checkbox13.id = "Check13";
var label13 = document.createElement('label')
label13.style.marginLeft="10px";
label13.style.color="white";
label13.appendChild(document.createTextNode('Автоматически отправлять оценки о учителях'));
if (localStorage.getItem("BJ.AutoMark") !== null){
checkbox13.checked=true;
}
label13.setAttribute("for", "Check13");
checkbox13.addEventListener('change', function() {
if (this.checked) {
if (confirm("Внимание! Вы не сможете регулировать оценки отправляемые расширением. Все оценки будут по умолчанию отправлятся с оценкой в 5 звезд. Продолжить?")){
localStorage.setItem("BJ.AutoMark","1");
} else {
this.checked = false;
}
} else {
localStorage.removeItem("BJ.AutoMark");
}
});
var Div14 = document.createElement('div');
var checkbox14 = document.createElement('input');
checkbox14.type = "checkbox";
checkbox14.id = "Check14";
var label14 = document.createElement('label')
label14.style.marginLeft="10px";
label14.style.color="white";
label14.setAttribute("for", "Check14");
label14.appendChild(document.createTextNode('Убрать индикатор непрочитанных уведомлений (Только на боковой панели)'));
if (localStorage.getItem("BJ.HideNewsPopup")!==null){checkbox14.checked=true;}
checkbox14.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.HideNewsPopup","1");
} else {
localStorage.removeItem("BJ.HideNewsPopup");
}
});
var Div15 = document.createElement('div');
var checkbox15 = document.createElement('input');
checkbox15.type = "checkbox";
checkbox15.id = "Check15";
var label15 = document.createElement('label')
label15.style.marginLeft="10px";
label15.style.color="white";
label15.setAttribute("for", "Check15");
label15.appendChild(document.createTextNode('Убрать индикатор непрочитанных материалов (Только на боковой панели)'));
if (localStorage.getItem("BJ.HideMaterialsPopup")!==null){checkbox15.checked=true;}
checkbox15.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.HideMaterialsPopup","1");
} else {
localStorage.removeItem("BJ.HideMaterialsPopup");
}
});
var Div17 = document.createElement('div');
var checkbox17 = document.createElement('input');
checkbox17.type = "checkbox";
checkbox17.id = "Check17";
var label17 = document.createElement('label')
label17.style.marginLeft="10px";
label17.style.color="white";
label17.setAttribute("for", "Check17");
label17.appendChild(document.createTextNode('Автоматически заполнять время, затраченное на домашнее задание'));
if (localStorage.getItem("BJ.AutoTimeSpend")!==null){checkbox17.checked=true;}
checkbox17.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.AutoTimeSpend","1");
} else {
localStorage.removeItem("BJ.AutoTimeSpend");
}
});
var Div18 = document.createElement('div');
var checkbox18 = document.createElement('input');
checkbox18.type = "checkbox";
checkbox18.id = "Check18";
var label18 = document.createElement('label')
label18.style.marginLeft="10px";
label18.style.color="white";
label18.setAttribute("for", "Check18");
label18.appendChild(document.createTextNode('Создавать обводку элементов под цвет темы'));
if (localStorage.getItem("BJ.ThemedBorder")!==null){checkbox18.checked=true;}
checkbox18.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.ThemedBorder","1");
} else {
localStorage.removeItem("BJ.ThemedBorder");
}
});
var Div19 = document.createElement('div');
Div19.style.display='flex';
var checkbox19 = document.createElement('input');
checkbox19.type = "checkbox";
checkbox19.id = "Check19";
var label19 = document.createElement('label')
label19.style.marginLeft="10px";
label19.style.color="white";
label19.setAttribute("for", "Check19");
label19.appendChild(document.createTextNode('Своё фото на боковой панели: '));
var BarLink = document.createElement('input');
BarLink.id="BarLink";
BarLink.type = "text";
BarLink.style = InputStyle;
if (localStorage.getItem("BJ.BarLink") !== null) {BarLink.value=localStorage.getItem("BJ.BarLink")}
if (localStorage.getItem("BJ.BarLink")!==null){checkbox19.checked=true;}
checkbox19.addEventListener('change', function() {
if (this.checked){
localStorage.setItem("BJ.BarLink", BarLink.value);
} else {
localStorage.removeItem("BJ.BarLink");
}
});
BarLink.addEventListener('input', function (evt) {
if (checkbox19.checked){
localStorage.setItem("BJ.BarLink", BarLink.value);
}
})
if (localStorage.getItem("BJ.BarLink")!==null){checkbox19.checked=true; BarLink.value=localStorage.getItem("BJ.BarLink")}
var CustomTheme = document.createElement('div');
let TransparencyDeafultValue = localStorage.getItem("BJ.CustomThemeTransparency")
CustomTheme.id="CustomThemeDivId"
CustomTheme.style=`float: right; width:0; transition: all 1s; white-space:nowrap; background: `+Accent_MainBg+`; border-radius: 18px; overflow: hidden; margin-right: 10px; margin-left: 10px; right: 0px; position: absolute;`
CustomTheme.innerHTML=`<div id="CustomThemeDivCreating" style="margin-left: 10px; margin-right: 10px;">
<h3 style="text-align: center">Создайте свою тему</h3>
<span>Главный цвет: </span> <input type="color" id="MainClolorSwitch" value="`+Accent_MainBg.slice(0,7)+`" style="border-radius: 5px;"/><br/><br/>
<span>Акцент 0: </span> <input type="color" id="Accent0Switch" value="`+Accent0.slice(0,7)+`" style="border-radius: 5px; margin-top: 2px;"/><br/>
<span>Акцент 1: </span> <input type="color" id="Accent1Switch" value="`+Accent1.slice(0,7)+`" style="border-radius: 5px; margin-top: 2px;"/><br/>
<span>Акцент 2: </span> <input type="color" id="Accent2Switch" value="`+Accent2.slice(0,7)+`" style="border-radius: 5px; margin-top: 2px;"/><br/>
<span>Акцент 3: </span> <input type="color" id="Accent3Switch" value="`+Accent3.slice(0,7)+`" style="border-radius: 5px; margin-top: 2px;"/><br/>
<span>Прозрачность блоков: </span> <input type="range" max="99" min="0" id="AccentTransparencySwitch" step="0.2" value="`+TransparencyDeafultValue+`" style="border-radius: 5px; margin-top: 2px;"/><span id="TransparencyValue" class="HighLightedText">`+TransparencyDeafultValue+`%</span><br/>
</div>`;
var Div014 = document.createElement('div');
var checkbox014 = document.createElement('input');
checkbox014.type = "checkbox";
checkbox014.id = "Check014";
var label014 = document.createElement('label')
label014.style.marginLeft="10px";
label014.style.color="white";
label014.setAttribute("for", "Check014");
label014.appendChild(document.createTextNode('Скрыть раздел проверенных но не принятых домашних заданий'));
checkbox014.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.HidePasswdHW","1");
} else {
localStorage.removeItem("BJ.HidePasswdHW");
}
});
if (localStorage.getItem("BJ.HidePasswdHW")!==null){checkbox014.checked=true;}
var Div015 = document.createElement('div');
var checkbox015 = document.createElement('input');
checkbox015.type = "checkbox";
checkbox015.id = "Check015";
var label015 = document.createElement('label')
label015.style.marginLeft="10px";
label015.style.color="white";
label015.setAttribute("for", "Check015");
label015.appendChild(document.createTextNode('Выделять домашние задания крайний срок которых заканчивается сегодня или завтра'));
checkbox015.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.ShowBurningHW","1");
} else {
localStorage.removeItem("BJ.ShowBurningHW");
}
});
if (localStorage.getItem("BJ.ShowBurningHW") !== null){checkbox015.checked=true;}
var Div016 = document.createElement('div');
var checkbox016 = document.createElement('input');
checkbox016.type = "checkbox";
checkbox016.id = "Check016";
var label016 = document.createElement('label')
label016.style.marginLeft="10px";
label016.style.color="white";
label016.setAttribute("for", "Check016");
label016.appendChild(document.createTextNode('Круговое меню вместо бокового (на кнопку ~)'));
checkbox016.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.CircularMenu","1");
} else {
localStorage.removeItem("BJ.CircularMenu");
}
});
if (localStorage.getItem("BJ.CircularMenu") !== null){checkbox016.checked=true;}
var Div017_1 = document.createElement('div');
Div017_1.style.marginLeft='20px';
var checkbox017_1 = document.createElement('input');
checkbox017_1.type = "checkbox";
checkbox017_1.id = "Check017_1";
var label017_1 = document.createElement('label')
label017_1.style.marginLeft="10px";
label017_1.style.color="white";
label017_1.setAttribute("for", "Check017_1");
label017_1.appendChild(document.createTextNode('Включить возможность нажатия правой кнопки мыши для вызова меню'));
checkbox017_1.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.RightClickToOpenCircular","1");
} else {
localStorage.removeItem("BJ.RightClickToOpenCircular");
}
});
if (localStorage.getItem("BJ.RightClickToOpenCircular") !== null){checkbox017_1.checked=true;}
var Div017 = document.createElement('div');
Div017.style.marginLeft='20px';
var checkbox017 = document.createElement('input');
checkbox017.type = "checkbox";
checkbox017.id = "Check017";
var label017 = document.createElement('label')
label017.style.marginLeft="10px";
label017.style.color="white";
label017.setAttribute("for", "Check017");
label017.appendChild(document.createTextNode('Показывать стандартное боковое меню при октрытии кругового'));
checkbox017.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.CircularMenuShowOriginalbar","1");
} else {
localStorage.removeItem("BJ.CircularMenuShowOriginalbar");
}
});
if (localStorage.getItem("BJ.CircularMenuShowOriginalbar") !== null){checkbox017.checked=true;}
var Div018 = document.createElement('div');
var checkbox018 = document.createElement('input');
checkbox018.type = "checkbox";
checkbox018.id = "Check018";
var label018 = document.createElement('label')
label018.style.marginLeft="10px";
label018.style.color="white";
label018.setAttribute("for", "Check018");
label018.appendChild(document.createTextNode('Миниатюрные часы в углу сайта'));
checkbox018.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.ShowMiniClock","1");
} else {
localStorage.removeItem("BJ.ShowMiniClock");
document.getElementById('HClockDiv').remove()
}
});
if (localStorage.getItem("BJ.ShowMiniClock") !== null){checkbox018.checked=true;}
function SetAutoCustomThemeWidth(){
if (document.getElementById("ThemeCS").checked === false){
for (var item of AllThemeDivs){
item.style.width="100%";
}
document.getElementById("CustomThemeDivId").style.width="0%";
}
}
var Div019 = document.createElement('div');
var checkbox019 = document.createElement('input');
checkbox019.type = "checkbox";
checkbox019.id = "Check019";
var label019 = document.createElement('label')
label019.style.marginLeft="10px";
label019.style.color="white";
label019.setAttribute("for", "Check019");
label019.appendChild(document.createTextNode('Скрывать всплывающие окна'));
checkbox019.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.HideAnyPopups","1");
} else {
localStorage.removeItem("BJ.HideAnyPopups");
document.getElementById('HClockDiv').remove()
}
});
if (localStorage.getItem("BJ.HideAnyPopups") !== null){checkbox019.checked=true;}
var Div020 = document.createElement('div');
var checkbox020 = document.createElement('input');
checkbox020.type = "checkbox";
checkbox020.id = "Check020";
checkbox020.checked = localStorage.getItem('BJ.HideMeAway') !== null
var label020 = document.createElement('label')
label020.style.marginLeft="10px";
label020.style.color="white";
label020.setAttribute("for", "Check020");
let clVal = 'DocToast(`<p>Сайт академии собирает не мало статистики, это явление наблюдается даже<br>без расширения, поэтому эта настройка постарается максимально приватизировать <br>действия на Journal (не полностью, всё что возможно) <br></br> Эта настройка плохо влияет на расширение, делая его медленным и нестабильным.<br>Не рекомендуется включать "Просто-так"</p> <br></br> Большую часть статистики нужно отключать вручную. Для этого нажмите Ctrl+Shift+I -> Элементы -> Прослушиватели событий, и удалите каждый элемент который видите в списке`)'
label020.innerHTML="Частично запретить сайту Journal слежку действий <button style='width: 45px' onClick='"+clVal+"'>(?)</button>"
checkbox020.addEventListener('change', function() {
Toast('Для применения изменений перезагрузите страницу')
if (this.checked) {
localStorage.setItem("BJ.HideMeAway","1");
} else {
localStorage.removeItem("BJ.HideMeAway");
}
});
var Div021 = document.createElement('div');
var checkbox021 = document.createElement('input');
checkbox021.type = "checkbox";
checkbox021.id = "Check021";
checkbox021.checked = localStorage.getItem('BJ.NotifiesAutoRead') !== null
var label021 = document.createElement('label')
label021.style.marginLeft="10px";
label021.style.color="white";
label021.setAttribute("for", "Check021");
label021.innerHTML="Автоматически читать все уведомления"
checkbox021.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.NotifiesAutoRead","1");
ReadAllNews()
} else {
localStorage.removeItem("BJ.NotifiesAutoRead");
}
});
var Div022 = document.createElement('div');
var checkbox022 = document.createElement('input');
checkbox022.type = "checkbox";
checkbox022.id = "Check022";
checkbox022.checked = localStorage.getItem("BJ.FunnySetting") !== null
var label022 = document.createElement('label')
label022.style.marginLeft="10px";
label022.style.color="white";
label022.setAttribute("for", "Check022");
label022.appendChild(document.createTextNode('Весёлая настройка'));
checkbox022.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem("BJ.FunnySetting","1");
} else {
localStorage.removeItem("BJ.FunnySetting");
}
});
var Div1 = document.createElement('div');
const radio1 = document.createElement("input");
radio1.type = "radio";
radio1.name = "Themes";
radio1.id = "Theme1";
radio1.addEventListener('change', e => { if(e.target.checked){localStorage.setItem("BJ.SetStyle",0); localStorage.removeItem("BJ.CustomTheme"); SetAutoCustomThemeWidth()}});
if (ThemeNum===0){radio1.checked=true;}
var label1 = document.createElement('label')
label1.style.marginLeft="10px";
label1.style.color="white";
label1.setAttribute("for", "Theme1");
label1.appendChild(document.createTextNode('Classic Gray Theme'));
var Div2 = document.createElement('div');
const radio2 = document.createElement("input");
radio2.type = "radio";
radio2.name = "Themes";
radio2.id = "Theme2";
radio2.addEventListener('change', e => { if(e.target.checked){localStorage.setItem("BJ.SetStyle",1); localStorage.removeItem("BJ.CustomTheme"); SetAutoCustomThemeWidth()}});
if (ThemeNum===1){radio2.checked=true;}
var label2 = document.createElement('label')
label2.style.marginLeft="10px";
label2.style.color="white";
label2.setAttribute("for", "Theme2");
label2.appendChild(document.createTextNode('Light Mint Theme'));
var Div3 = document.createElement('div');
const radio3 = document.createElement("input");
radio3.type = "radio";
radio3.name = "Themes";
radio3.id = "Theme3";
radio3.addEventListener('change', e => { if(e.target.checked){localStorage.setItem("BJ.SetStyle",2); localStorage.removeItem("BJ.CustomTheme"); SetAutoCustomThemeWidth()}});
if (ThemeNum===2){radio3.checked=true;}
var label3 = document.createElement('label')
label3.style.marginLeft="10px";
label3.style.color="white";
label3.setAttribute("for", "Theme3");
label3.appendChild(document.createTextNode('Rayan Gosling Theme'));
var Div4 = document.createElement('div');
const radio4 = document.createElement("input");
radio4.type = "radio";
radio4.name = "Themes";
radio4.id = "Theme4";
radio4.addEventListener('change', e => { if(e.target.checked){localStorage.setItem("BJ.SetStyle",3); localStorage.removeItem("BJ.CustomTheme"); SetAutoCustomThemeWidth()}});
if (ThemeNum===3){radio4.checked=true;}
var label4 = document.createElement('label')
label4.style.marginLeft="10px";
label4.style.color="white";
label4.setAttribute("for", "Theme4");
label4.appendChild(document.createTextNode('Deep Ocean Theme'));
var Div5 = document.createElement('div');
const radio5 = document.createElement("input");
radio5.type = "radio";
radio5.name = "Themes";
radio5.id = "Theme5";
radio5.addEventListener('change', e => { if(e.target.checked){localStorage.setItem("BJ.SetStyle",4); localStorage.removeItem("BJ.CustomTheme"); SetAutoCustomThemeWidth()}});
if (ThemeNum===4){radio5.checked=true;}
var label5 = document.createElement('label')
label5.style.marginLeft="10px";
label5.style.color="white";
label5.setAttribute("for", "Theme5");
label5.appendChild(document.createTextNode('Light Fire Theme'));
var Div6 = document.createElement('div');
const radio6 = document.createElement("input");
radio6.type = "radio";
radio6.name = "Themes";
radio6.id = "Theme6";
radio6.addEventListener('change', e => { if(e.target.checked){localStorage.setItem("BJ.SetStyle",5); localStorage.removeItem("BJ.CustomTheme"); SetAutoCustomThemeWidth()}});
if (ThemeNum===5){radio6.checked=true;}
var label6 = document.createElement('label')
label6.style.marginLeft="10px";
label6.style.color="white";
label6.setAttribute("for", "Theme6");
label6.appendChild(document.createTextNode('Cloudly Weather Theme'));
var Div7 = document.createElement('div');
const radio7 = document.createElement("input");
radio7.type = "radio";
radio7.name = "Themes";
radio7.id = "Theme7";
radio7.addEventListener('change', e => { if(e.target.checked){localStorage.setItem("BJ.SetStyle",6); localStorage.removeItem("BJ.CustomTheme"); SetAutoCustomThemeWidth()}});
if (ThemeNum===6){radio7.checked=true;}
var label7 = document.createElement('label')
label7.style.marginLeft="10px";
label7.style.color="white";
label7.setAttribute("for", "Theme7");
label7.appendChild(document.createTextNode('Space Black Theme'));
var Div8 = document.createElement('div');
const radio8 = document.createElement("input");
radio8.type = "radio";
radio8.name = "Themes";
radio8.id = "Theme8";
radio8.addEventListener('change', e => { if(e.target.checked){localStorage.setItem("BJ.SetStyle",7); localStorage.removeItem("BJ.CustomTheme"); SetAutoCustomThemeWidth()}});
if (ThemeNum===7){radio8.checked=true;}
var label8 = document.createElement('label')
label8.style.marginLeft="10px";
label8.style.color="white";
label8.setAttribute("for", "Theme8");
label8.appendChild(document.createTextNode('Camp Fire Theme'));
var Div11 = document.createElement('div');
const radio11 = document.createElement("input");
radio11.type = "radio";
radio11.name = "Themes";
radio11.id = "Theme11";
radio11.addEventListener('change', e => { if(e.target.checked){localStorage.setItem("BJ.SetStyle",8); localStorage.removeItem("BJ.CustomTheme"); SetAutoCustomThemeWidth()}});
if (ThemeNum===8){radio11.checked=true;}
var label11 = document.createElement('label')
label11.style.marginLeft="10px";
label11.style.color="white";
label11.setAttribute("for", "Theme11");
label11.appendChild(document.createTextNode('Red Apple Theme'));
var Div12S = document.createElement('div');
const radio12S = document.createElement("input");
radio12S.type = "radio";
radio12S.name = "Themes";
radio12S.id = "Theme12S";
radio12S.addEventListener('change', e => { if(e.target.checked){localStorage.setItem("BJ.SetStyle",9); localStorage.removeItem("BJ.CustomTheme"); SetAutoCustomThemeWidth()}});
if (ThemeNum===9){radio12S.checked=true;}
var label12S = document.createElement('label')
label12S.style.marginLeft="10px";
label12S.style.color="white";
label12S.setAttribute("for", "Theme12S");
label12S.appendChild(document.createTextNode('Early Rose Theme'));
var DivCustomTheme = document.createElement('div');
DivCustomTheme.id="DivCustomThemeID"
const AllDivs=[Div1, Div2, Div3, Div4, Div5, Div6, Div7, Div8, Div11, Div12S, DivCustomTheme];
AllThemeDivs=AllDivs;
const radioCS = document.createElement("input");
radioCS.type = "radio";
radioCS.name = "Themes";
radioCS.id = "ThemeCS";
radioCS.addEventListener('change', e => {
if(e.target.checked){
for (const item of AllDivs){item.style.width="49%";}
CustomTheme.style.width="49%";
}
if(false){
for (const item of AllDivs){item.style.width="100%"}
CustomTheme.style.width="0%";
}});
if (localStorage.getItem("BJ.CustomTheme") !==null){
radioCS.checked=true;
for (const item of AllDivs){item.style.width="48%";}
CustomTheme.style.width="48%";
}
var labelCS = document.createElement('label')
labelCS.style.marginLeft="10px";
labelCS.style.color="white";
labelCS.setAttribute("for", "ThemeCS");
labelCS.appendChild(document.createTextNode('Своя тема'));
Div00.appendChild(checkbox);
Div00.appendChild(label);
Div00.appendChild(HtmlApplyLink);
Div00.appendChild(HtmlThemeChooseLink)
Div00.appendChild(HtmlVideoLink);
newDiv.appendChild(Div00);
Div00_Live.appendChild(checkbox_Live)
Div00_Live.appendChild(label_Live)
newDiv.appendChild(Div00_Live);
Div00_ColorMovement.appendChild(checkbox_ColorMovement)
Div00_ColorMovement.appendChild(FlexDiv)
newDiv.appendChild(Div00_ColorMovement);
Div01.appendChild(checkbox2);
Div01.appendChild(label0);
newDiv.appendChild(Div01);
Div03.appendChild(checkbox03);
Div03.appendChild(label03);
newDiv.appendChild(Div03);
if (localStorage.getItem("BJ.TransparentPanel")!==null){TransSet();}
Div04.appendChild(checkbox04);
Div04.appendChild(label04);
newDiv.appendChild(Div04);
if(document.getElementsByClassName("select-univercity")[1].textContent === 'Группа: 9/2-РПО-23/1' || document.getElementsByClassName("select-univercity")[1].textContent === 'Группа: 9/1-РПО-23/1'){
Div000.appendChild(checkbox000);
Div000.appendChild(label000);
Div000.appendChild(ALM_Name);
newDiv.appendChild(Div000);
} else {
SettingHeight=SettingHeight-55;
}
Div9.appendChild(checkbox9);
Div9.appendChild(label9);
Div9.appendChild(AVTLink);
newDiv.appendChild(Div9);
Div10.appendChild(checkbox10);
Div10.appendChild(label10);
newDiv.appendChild(Div10);
Div12.appendChild(checkbox12);
Div12.appendChild(label12);
newDiv.appendChild(Div12);
Div13.appendChild(checkbox13);
Div13.appendChild(label13);
newDiv.appendChild(Div13);
Div15.appendChild(checkbox15);
Div15.appendChild(label15);
newDiv.appendChild(Div15);
Div14.appendChild(checkbox14);
Div14.appendChild(label14);
newDiv.appendChild(Div14);
Div17.appendChild(checkbox17);
Div17.appendChild(label17);
newDiv.appendChild(Div17);
Div18.appendChild(checkbox18);
Div18.appendChild(label18);
newDiv.appendChild(Div18);
Div19.appendChild(checkbox19);
Div19.appendChild(label19);
Div19.appendChild(BarLink);
newDiv.appendChild(Div19);
newDiv.appendChild(CustomTheme);
Div020.appendChild(checkbox020);
Div020.appendChild(label020);
newDiv.appendChild(Div020);
Div021.appendChild(checkbox021);
Div021.appendChild(label021);
newDiv.appendChild(Div021);
Div014.appendChild(checkbox014);
Div014.appendChild(label014);
newDiv.appendChild(Div014);
Div015.appendChild(checkbox015);
Div015.appendChild(label015);
newDiv.appendChild(Div015);
Div016.appendChild(checkbox016);
Div016.appendChild(label016);
newDiv.appendChild(Div016);
Div017.appendChild(checkbox017);
Div017.appendChild(label017);
newDiv.appendChild(Div017);
Div017_1.appendChild(checkbox017_1);
Div017_1.appendChild(label017_1);
newDiv.appendChild(Div017_1);
Div018.appendChild(checkbox018);
Div018.appendChild(label018);
newDiv.appendChild(Div018);
Div022.appendChild(checkbox022);
Div022.appendChild(label022);
if (randomIntFromInterval(0,1) === 1 || localStorage.getItem('BJ.FunnySetting') !== null) {newDiv.appendChild(Div022);}
Div1.appendChild(radio1);
Div1.appendChild(label1);
Div1.style.width="100%";
Div1.style.transition="all 1s";
Div1.style.background="#333333";
newDiv.appendChild(Div1);
Div2.appendChild(radio2);
Div2.appendChild(label2);
Div2.style.width="100%";
Div2.style.transition="all 1s";
Div2.style.background="#357068a4";
newDiv.appendChild(Div2);
Div3.appendChild(radio3);
Div3.appendChild(label3);
Div3.style.background="#583B53a4";
Div3.style.width="100%";
Div3.style.transition="all 1s";
newDiv.appendChild(Div3);
Div4.appendChild(radio4);
Div4.appendChild(label4);
Div4.style.width="100%";
Div4.style.transition="all 1s";
Div4.style.background="#2A5B90a4";
newDiv.appendChild(Div4);
Div5.appendChild(radio5);
Div5.appendChild(label5);
Div5.style.background="#895615a4";
Div5.style.width="100%";
Div5.style.transition="all 1s";
newDiv.appendChild(Div5);
newDiv.style.display="none";
Div6.appendChild(radio6);
Div6.appendChild(label6);
Div6.style.background="#333333a9";
Div6.style.width="100%";
Div6.style.transition="all 1s";
newDiv.appendChild(Div6);
newDiv.style.display="none";
Div7.appendChild(radio7);
Div7.appendChild(label7);
Div7.style.background="#100A43a9";
newDiv.appendChild(Div7);
Div7.style.width="100%";
Div7.style.transition="all 1s";
newDiv.style.display="none";
Div8.appendChild(radio8);
Div8.appendChild(label8);
Div8.style.width="100%";
Div8.style.transition="all 1s";
Div8.style.background="#B96622a4";
newDiv.appendChild(Div8);
newDiv.style.display="none";
Div11.appendChild(radio11);
Div11.style.width="100%";
Div11.style.transition="all 1s";
Div11.appendChild(label11);
Div11.style.background="#C81E1Ea4";
newDiv.appendChild(Div11);
newDiv.style.display="none";
Div12S.appendChild(radio12S);
Div12S.style.width="100%";
Div12S.style.transition="all 1s";
Div12S.appendChild(label12S);
Div12S.style.background="#b2707080";
newDiv.appendChild(Div12S);
newDiv.style.display="none";
DivCustomTheme.appendChild(radioCS);
DivCustomTheme.style.width="100%";
DivCustomTheme.style.transition="all 1s";
DivCustomTheme.appendChild(labelCS);
DivCustomTheme.style.background="-webkit-gradient(linear, 0% 0%, 100% 0%, from(rgb(18 194 68)), to(rgb(73 30 232)))";
newDiv.appendChild(DivCustomTheme);
newDiv.style.display="none";
let Nums=0;
CustomTheme.style.height=((AllDivs.length)*32)+"px";
for (const item of AllDivs){
if (Nums===0){
item.style.borderStartStartRadius="18px";
item.style.borderStartEndRadius="18px";
} else {
if (Nums===(AllDivs.length-1)){
item.style.borderEndStartRadius="18px";
item.style.borderEndEndRadius="18px";
}
}
item.style.paddingLeft="10px";
Nums=Nums+1;
}
SettingHeight=SettingHeight+"px";
MainFloat.before(newDiv);
const MainBgAccentPicker = document.getElementById("MainClolorSwitch");
const Accent0Picker = document.getElementById("Accent0Switch");
const Accent1Picker = document.getElementById("Accent1Switch");
const Accent2Picker = document.getElementById("Accent2Switch");
const Accent3Picker = document.getElementById("Accent3Switch");
MainBgAccentPicker.addEventListener("input", function(){
Accent_MainBg=MainBgAccentPicker.value+localStorage.getItem("BJ.CustomThemeTransparency");
localStorage.setItem("BJ.CustomTheme", MainBgAccentPicker.value+"|"+Accent0Picker.value+"|"+Accent1Picker.value+"|"+Accent2Picker.value+"|"+Accent3Picker.value);
SetStyle(-9)
}, false);
Accent0Picker.addEventListener("input", function(){
Accent_MainBg=Accent0Picker.value+localStorage.getItem("BJ.CustomThemeTransparency");
localStorage.setItem("BJ.CustomTheme", MainBgAccentPicker.value+"|"+Accent0Picker.value+"|"+Accent1Picker.value+"|"+Accent2Picker.value+"|"+Accent3Picker.value);
SetStyle(-9)
}, false);
Accent1Picker.addEventListener("input", function(){
Accent_MainBg=Accent1Picker.value+localStorage.getItem("BJ.CustomThemeTransparency");
localStorage.setItem("BJ.CustomTheme", MainBgAccentPicker.value+"|"+Accent0Picker.value+"|"+Accent1Picker.value+"|"+Accent2Picker.value+"|"+Accent3Picker.value);
SetStyle(-9)
}, false);
Accent2Picker.addEventListener("input", function(){
Accent_MainBg=Accent2Picker.value+localStorage.getItem("BJ.CustomThemeTransparency");
localStorage.setItem("BJ.CustomTheme", MainBgAccentPicker.value+"|"+Accent0Picker.value+"|"+Accent1Picker.value+"|"+Accent2Picker.value+"|"+Accent3Picker.value);
SetStyle(-9)
}, false);
Accent3Picker.addEventListener("input", function(){
Accent_MainBg=Accent3Picker.value+localStorage.getItem("BJ.CustomThemeTransparency");
localStorage.setItem("BJ.CustomTheme", MainBgAccentPicker.value+"|"+Accent0Picker.value+"|"+Accent1Picker.value+"|"+Accent2Picker.value+"|"+Accent3Picker.value);
SetStyle(-9)
}, false);
document.getElementById('AccentTransparencySwitch').addEventListener("input", function(){
document.getElementById('TransparencyValue').textContent = this.value +'%'
let fixedValue = (Number(this.value)).toFixed(0)
if (fixedValue<10) {fixedValue = '0'+fixedValue}
localStorage.setItem("BJ.CustomThemeTransparency", fixedValue)
SetStyle(-9)
}, false);
if (localStorage.getItem("BJ.CustomTheme") !==null){
for (const item of AllDivs){item.style.width="49%";}
CustomTheme.style.width="49%";
}
if (localStorage.getItem("BJ.ColorMovementDegrees") === null) ColorMovementSlider.disabled = true
else {window.ColorMovementChange(Number(localStorage.getItem("BJ.ColorMovementDegrees"))); document.getElementById('ColorMovementSliderID').value = localStorage.getItem("BJ.ColorMovementDegrees")}
if (localStorage.getItem("BJ.TransparentPanel") !== null){ window.CreateTransparencyListener(); }
} catch(e) {console.error(e)}
}
function SetStyle(StyleNumber){
try{
const SmthChanged=false;
Accent_MainBg="#333333";
Accent0="#3b3b3b";
Accent1="#333333";
Accent2="#222222";
Accent3="#101010";
if (localStorage.getItem("BJ.CustomTheme") === null){localStorage.setItem("BJ.DefStyle", StyleNumber)}
if(StyleNumber==1){// Grass
Accent_MainBg="#1B453Fa9";
Accent0="#357068a4";
Accent1="#0C373Da9";
Accent2="#1F6F63a9";
Accent3="#126054a9";
}
if(StyleNumber==2){// Cherry
Accent_MainBg="#380E32a9";
Accent0="#583B53a4";
Accent1="#362533A9";
Accent2="#450D3Aa9";
Accent3="#340A2Ca9";
}
if(StyleNumber==3){// Ocean
Accent_MainBg="#203D5Da9";
Accent0="#2A5B90a4";
Accent1="#234F81a9";
Accent2="#133E6Da9";
Accent3="#062A52a9";
}
if(StyleNumber==4){// Fire
Accent_MainBg="#3C1D01a9";
Accent0="#895615a4";
Accent1="#74460Ca9";
Accent2="#613A09a9";
Accent3="#4E2E06a9";
}
if(StyleNumber==5){// Cloudly
Accent_MainBg="#333333a9";
Accent0="#3b3b3ba4";
Accent1="#333333a9";
Accent2="#222222a9";
Accent3="#101010a9";
}
if(StyleNumber==6){// Space Black
Accent_MainBg="#14092Ea9";
Accent0="#160F51a4";
Accent1="#100A43a9";
Accent2="#140834a9";
Accent3="#0C0524a9";
}
if(StyleNumber==7){// Camp Fire
Accent_MainBg="#78260080";//78260080
Accent0="#B96622a4";//B96622a4
Accent1="#A55A1Da9";//A55A1Da9
Accent2="#904D17a9";//904D17a9
Accent3="#7A3F10a9";//7A3F10a9
}
if(StyleNumber==8){// Red Apple
Accent_MainBg="#6b000040";//78260080
Accent0="#C81E1Ea4";//B96622a4
Accent1="#cc0000a9";//A55A1Da9
Accent2="#800000a9";//904D17a9
Accent3="#330000a9";//7A3F10a9
}
if(StyleNumber==9){// Cloudly
Accent_MainBg="#df626280";//78260080
Accent0="#b2707080";//B96622a4
Accent1="#a26d6d80";//A55A1Da9
Accent2="#92545480";//904D17a9
Accent3="#78454580";//7A3F10a9
}
if(localStorage.getItem("BJ.CustomTheme") !== null){// Cloudly
let TrancparensyValue = localStorage.getItem("BJ.CustomThemeTransparency")
if (TrancparensyValue === null) {TrancparensyValue="80"}
var CustomColors = (localStorage.getItem("BJ.CustomTheme")).split("|")
console.log(CustomColors[0]+TrancparensyValue, CustomColors[1]+TrancparensyValue, CustomColors[2]+TrancparensyValue, CustomColors[3]+TrancparensyValue, CustomColors[4]+TrancparensyValue)
Accent_MainBg=CustomColors[0]+TrancparensyValue;//78260080
Accent0=CustomColors[1]+TrancparensyValue;//B96622a4
Accent1=CustomColors[2]+TrancparensyValue;//A55A1Da9
Accent2=CustomColors[3]+TrancparensyValue;//904D17a9
Accent3=CustomColors[4]+TrancparensyValue;//7A3F10a9
}else{
try{
document.getElementById("CustomThemeDivId").style.background=Accent_MainBg;
document.getElementById("MainClolorSwitch").value=Accent_MainBg.slice(0,7);
document.getElementById("Accent0Switch").value=Accent0.slice(0,7);
document.getElementById("Accent1Switch").value=Accent1.slice(0,7);
document.getElementById("Accent2Switch").value=Accent2.slice(0,7);
document.getElementById("Accent3Switch").value=Accent3.slice(0,7);
}catch(e){}
}
document.getElementById("OpenSettings_BJ").style.background=Accent3;
}catch(e){}
localStorage.setItem("BJ.SetStyle","-inf");
}
//SendPacket()
function SendPacket(URL, Type, JSONVals, RefreshBearer){
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open(Type, URL);
xhr.setRequestHeader('authority', 'msapi.top-academy.ru');
xhr.setRequestHeader('method', Type);
xhr.setRequestHeader('path', '/api/v2/auth/login');
xhr.setRequestHeader('scheme', 'https');
xhr.setRequestHeader('Accept', 'application/json, text/plain, */*');
xhr.setRequestHeader('Accept-Language', 'ru_RU, ru');
xhr.setRequestHeader('Authorization', 'Bearer '+LoadedBearer);
xhr.onreadystatechange = () => {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status >= 200 && xhr.status < 300) {
resolve(xhr.responseText);
} else {
reject({status: xhr.status, error: xhr.statusText});
}
}
};
xhr.onerror = () => reject(xhr.statusText);
if (JSONVals!==null && JSONVals!== undefined) {
xhr.setRequestHeader('Content-Type', 'application/json');
let requestBody = JSONVals
if (typeof(JSONVals) === 'string') {requestBody = JSON.parse(JSONVals);}
xhr.send(JSON.stringify(requestBody));
} else {
xhr.send();
}
if (RefreshBearer) {GetBearer()}
});
}
function ReadAllNews(){
SendPacket('https://msapi.top-academy.ru/api/v2/news/operations/latest-news', 'GET', null, false).then(response => {
const list = JSON.parse(response);
for (let i = 0; i < list.length; i++) {
let news_id_number = Number(list[i].id_bbs);
let sendValue = { news_id: news_id_number };
SendPacket('https://msapi.top-academy.ru/api/v2/news/operations/set-view', 'POST', sendValue, false).then(s=>{console.log('sucsessfully readed!')}).catch(e=>{});
}
}).catch(e => {});
}
window.ShowHomework = function(LessonName, name, url){
window.YesThisImageIsNotImage = function(){
document.getElementById('IsItImageLoader').style.display='none'
document.getElementById('ImageNotSucsess').textContent='Это домашнее задание не имеет изображения'
}
window.YesThisImageIsImage = function(){
document.getElementById('IsItImageLoader').style.opacity=1
document.getElementById('ImageNotSucsess').textContent=''
}
DocToast('<div><h4>'+LessonName+'</h4><h6>'+name+`</h6></div><br>
<p id="ImageNotSucsess">Проверка задания на наличие изображения...</p>
<img style="opacity: 1" onload="window.YesThisImageIsImage()" src="`+url+`" id="IsItImageLoader" onerror="window.YesThisImageIsNotImage()"> </img>
`)
}
window.RegImages = function(){ShowImagesInHomework()}
function ShowImagesInHomework(){
let current_list = document.querySelectorAll('.col.d-flex.flex-column.item.iphone-click.status3')
let missed_list = document.querySelectorAll('.col.d-flex.flex-column.item.iphone-click.status0')
let oncheck_list = document.querySelectorAll('.col.d-flex.flex-column.item.iphone-click.status2')
let checked_list = document.querySelectorAll('.col.d-flex.flex-column.item.iphone-click.status1')
let passed_list = document.querySelectorAll('.col.d-flex.flex-column.item.iphone-click.status5')
//For CurrentList
let currentListMax = undefined;
SendPacket('https://msapi.top-academy.ru/api/v2/count/page-counters?counter_type=100', 'GET', null, false).then(maxValueOf => {
maxValueOf = new Function('return ' + maxValueOf)();
currentListMax = maxValueOf.counter
SendPacket('https://msapi.top-academy.ru/api/v2/homework/operations/list?page=1&status=3&type=0&group_id=9', 'GET', null, false).then(r => {
r = new Function('return ' + r)();
for (let i = 0; i < current_list.length; i++){
let item = r[i]
let div = document.createElement('div')
div.style="position:absolute; top: 40px"
let clickval = `ShowHomework('`+item.name_spec+`','`+item.completion_time+`','`+item.file_path+`')`
div.innerHTML=`<img style="width:40px;" id="ImgPreview`+i+`" src="https://github.com/0mnr0/WallpaperInJournal/blob/main/res/pear.png?raw=true" onclick="`+clickval+`"></img>`
current_list[i].appendChild(div)
}
})
})
}
function GetBearer(){
try{
var Bearer = null;
const xhr = new XMLHttpRequest();
xhr.open('POST', 'https://msapi.top-academy.ru/api/v2/auth/login');
xhr.setRequestHeader('path', '/api/v2/auth/login');
xhr.setRequestHeader('Accept', 'application/json, text/plain, */*');
xhr.setRequestHeader('Accept-Language', 'ru_RU, ru');
xhr.setRequestHeader('Authorization', 'Bearer null');
xhr.setRequestHeader('Content-Type', 'application/json');
const requestBody = {
"application_key": "6a56a5df2667e65aab73ce76d1dd737f7d1faef9c52e8b8c55ac75f565d8e8a6",
"id_city": null,
"password": localStorage.getItem("BJ.PCAPassword"),
"username": localStorage.getItem("BJ.PCALogin")
}
xhr.send(JSON.stringify(requestBody));
xhr.addEventListener("readystatechange", () => {
if (xhr.readyState === XMLHttpRequest.DONE) {
Bearer=JSON.parse(xhr.responseText).access_token;
UserCId=JSON.parse(xhr.responseText).city_data.id_city;
var Status=JSON.parse(xhr.responseText).status;
if (Status === "401" || Status === 401){GetBearer()}
else{LoadedBearer=Bearer}
}
});
setTimeout(function(){return (Bearer)} , 100)
}catch(e){
return -1;
setTimeout(GetBearer, 1000)
}
}
function CheckUpdateSystem(){
if (!IgnoreUpdate){
fetch('https://greasyfork.org/ru/scripts/479183-better-journal', {method: 'GET'})
.then(response => response.text())
.then(data => {
var versionRegex = /<dt class="script-show-version"><span>Версия<\/span><\/dt>\s+<dd class="script-show-version"><span>(.*?)<\/span><\/dd>/;
var match = data.match(versionRegex);
if (match) {
var version = match[1];
if (version!==Version){
if (version!==""){
UpdateFound=true;
if (document.getElementById("CheckUpdates_BJ") !== null){
document.getElementById("CheckUpdates_BJ").style.display="none";
}
}
}
} else {
UpdateFound=false;
}
}).catch(error => {});
}
}
function randomIntFromInterval(min, max) { // min and max included
return Math.floor(Math.random() * (max - min + 1) + min)
}
window.GetBearer = function(){return LoadedBearer}
function LoadDefult(){
try{
let percentToDo = 0;
let percentInReview = 0;
let percentOverdue = 0;
let percentChecked = 0;
if (document.querySelector("span.all-count")!==null && document.getElementById("HomeworkContentID") !== null && document.getElementById("HomeworkContentID").innerHTML === '' || document.querySelector("span.all-count")!==null && document.getElementById("CPB_BJ") === null || document.getElementById("CPB_BJ") !== null && document.querySelector("span.all-count")!==null && Ticks%100 === 0 ){
let totalAssignments = Number(document.querySelector("span.all-count").textContent);
if (totalAssignments === 0) {totalAssignments=1;}
let toDo = Number(document.querySelector("span.open").textContent);
let inReview = Number(document.querySelector("span.inspection").textContent);
let overdue = Number(document.querySelector("span.lose").textContent);
let checked = Number(document.querySelector("span.done").textContent);
checked = checked + (totalAssignments - toDo - inReview - overdue - checked)
percentToDo = (toDo / totalAssignments) * 100;
percentInReview = (inReview / totalAssignments) * 100;
percentOverdue = (overdue / totalAssignments) * 100;
percentChecked = (checked / totalAssignments) * 100;
if (document.getElementById("HomeworkContentID")!==null || Ticks%100 === 0) {
document.getElementById("HomeworkContentID").innerHTML=`<h5 style="margin-top: 10px"></font><b><font color="#d772cf">Текущие: `+toDo+`</font>, <font color="#f5d47d">На проверке: `+inReview+`</font>, <font color="#d91842">Просрочено: `+overdue+`</font>, <font color="#188194">Проверено: `+checked+`</font></b>, <b><font color="#188194">Всего: `+totalAssignments+`</font></b></h5>`
}
}
if (document.getElementById("CPB_BJ") === null && document.querySelector("span.all-count")!==null || document.getElementById("CPB_BJ") !== null && document.querySelector("span.all-count")!==null && Ticks%100 === 0 ) {
var styleTag2 = null;
if (document.getElementById("CPB_BJ") === null){
styleTag2 = document.createElement('style');
} else {
styleTag2 = document.getElementById("CPB_BJ");
}
var CustomProgressBar=`
.bar {width: 100%;height: 13px; border-radius: 20px; background-color: #b3b3b3;color: white;text-align: center; margin-top: 10px;}
.OpenedHW {width: `+percentToDo+`%;
height: 100%;
background-color: #d772cf;
float: left;
transition: all 2s;
border-top-left-radius: 10px;
border-bottom-left-radius: 10px;
}
.Checking {
width: `+percentInReview+`%;
height: 100%;
background-color: #f5d47d;
transition: all 2s;
float: left;
}
.Outdated {
width: `+percentOverdue+`%;
height: 100%;
background-color: #d91842;
transition: all 2s;
float: left;
}
.CheckedHWs {
width: `+percentChecked+`%;
height: 100%;
background-color: #188194;
border-top-right-radius: 8px;
transition: all 2s;
border-bottom-right-radius: 8px;
float: left;
}
img#Pear{
animation: PearAnim 2s ease-in-out infinite;
}
@keyframes PearAnim {
0% {
scale: 0.8;
}
50% {
scale: 1.2;
}
100% {
scale: 0.8;
}
}
`;
if (percentToDo === 0){
CustomProgressBar=CustomProgressBar+`
.Checking {border-top-left-radius: 10px; border-bottom-left-radius: 10px;}
`;
}
if (percentInReview === 0 && percentToDo === 0){
CustomProgressBar=CustomProgressBar+`
.Outdated {border-top-left-radius: 10px; border-bottom-left-radius: 10px;}
`;
}
if (percentOverdue === 0 && percentInReview === 0 && percentToDo === 0){
CustomProgressBar=CustomProgressBar+`
.CheckedHWs {border-top-left-radius: 10px; border-bottom-left-radius: 10px;}
`;
}
if (document.getElementById("CPB_BJ") === null){
styleTag2.id = 'CPB_BJ';
var dynamicStyleCss2 = document.createTextNode(CustomProgressBar);
styleTag2.appendChild(dynamicStyleCss2);
var header2 = document.getElementsByTagName('body')[0];
header2.appendChild(styleTag2);
} else {
styleTag2.textContent=CustomProgressBar;
}
}
if (document.getElementById("FontIsLoaded") === null){
var FontLoader = document.createElement('link')
FontLoader.href="https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Rubik:ital,wght@0,300;1,300&display=swap"
FontLoader.rel="stylesheet";
document.querySelector('head').appendChild(FontLoader)
FontLoader.id="FontIsLoaded";
}
var days = ['Вc','Пн','Вт','Ср','Чт','Пт','Сб'];
var n = new Date().getDay();
var curTime = new Date().toLocaleTimeString('en-US', {hour12: false, hour: '2-digit', minute: '2-digit'});
if (localStorage.getItem("BJ.ShowMiniClock") !== null && document.getElementById('HClockDiv') === null && Ticks%20 === 0) {
var HClock = document.createElement('div')
HClock.className='noselect'
HClock.id='HClockDiv';
HClock.style='position: fixed; bottom: 50px; z-index: 1000; right: 50px; font-size: 45px'
HClock.innerHTML='<span id="HClock">'+curTime+'<span style="font-size: 10px">'+days[n]+'</span></span>'
document.body.appendChild(HClock)
} else if (localStorage.getItem("BJ.ShowMiniClock") !== null && document.getElementById('HClock') !== null && Ticks%20 === 0){
document.getElementById('HClock').innerHTML='<span id="HClock">'+curTime+'<span style="font-size: 10px">'+days[n]+'</span></span>'
}//Defs()
var DeafContent=`
body {background: black}
button#stucked {z-index: 3; position: relative; background: `+Accent3+`; color: white}
* { font-family: Rubik !important;}
.header {position: relative; z-index: 3}
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Old versions of Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
supported by Chrome, Edge, Opera and Firefox */
}
.message button {
margin: 2px;
}
input {outline: none !important}
.avatar {height: 65px; width: 65px}
button {cursor: pointer}
.HighLightedText {
background: transparent;
border: 2px solid;
color: wheat;
border-radius: 10px;
display: inline-block;
line-height: 15px;
margin-left: 2px;
padding-inline: 5px;
}
.modal-title, .title-block p {color: white}
button#OpenSettings_BJ:hover {scale: 1.05; rotate: 15deg}
::-webkit-scrollbar {background: `+Accent3.slice(0,4)+` !important; border-radius: 15px; width: 7px;}
::-webkit-scrollbar-thumb {background: `+Accent0.slice(0,4)+` !important; border-radius: 15px; -webkit-box-shadow: none;}
.progress-section .lessons-by-subjects th, .progress-section .lessons-by-subjects__grade {background: `+Accent1+`}
.progress-section .lessons-by-subjects__grade.pass {background: #b27070}
.progress-section .lessons-by-subjects__grade.lateness {background: #a8a457}
.progress-section .lessons-by-subjects .rating__control-work {background: #6ebd79}
.toast-container .toast, .toast-container .toast:hover {background-color: `+Accent2+`; border-radius: 20px; color:white; box-shadow: 0 0 12px `+Accent3+`; width: auto;}
.toast-container .toast {padding: 10px 15px 10px 50px}
.dropdown-menu {background: `+Accent1+` !important; border-radius: 200px; min-width: auto !important; color: white;}
a.dropdown-item.selected-leng {color:white !important}
.toast-container .toast .ng-star-inserted {margin: inherit}
.toast-container .toast .notification-success {height: 0px}
.text-homework-wrap, .text-homework-answer-wrap {background: `+Accent0+`;padding: 20px;border-radius: 30px;}
.toast-container .toast .ng-star-inserted .message {padding-left: 47px; padding-bottom: 25px}
.wrap-counts {background-color: `+Accent_MainBg+`}
.my-purchases .accordion .panel-group .panel {background: transparent; border-radius: 20px}
.my-purchases .accordion .panel-group .panel .card .card-header, .card-body {color: white; background: `+Accent3+`}
.my-purchases .accordion .panel-group .panel .card .card-header * {color: white}
.my-purchases .accordion .header-accordion .detailed {width: auto}
.my-purchases .accordion .header-accordion {margin-bottom: 10px}
.my-purchases {padding-bottom: 0px}
.modal-product .product-block .product-img .on-hover {display: none}
.text-homework-wrap .center h6, .text-homework-answer-wrap .center h6 {color: wheat}
.text-homework-wrap .center .file-drop-description, .text-homework-answer-wrap .center .file-drop-description {color: white}
a.button.malachite.referral-link{display:none}
.my-purchases .accordion .panel-group .panel .card .show {background: transparent}
.my-purchases .accordion .panel-group .panel .card .show .card-body .product .number span {background: `+Accent3+`}
.btn-malachite, .signal-section .item .signal-form-container .body-form form .submit .button-block button, button, .homework-help, .homework-help, a.button.malachite.referral-link {border-radius: 4000px !important;}
.navbar {background-color: `+Accent0+`; color: white; box-shadow = 1px 1px 15px rgb(66 66 66); margin=0 auto; width=fit-content}
nav.navbar.navbar-expand-lg.justify-content-between{color:white}
html{background: `+Accent_MainBg.slice(0,7)+`}
button#CheckUpdates_BJ {background-color: `+Accent_MainBg+` !important}
div#SettingsID {background-color: `+Accent0+` !important}
input {background: `+Accent3+` !important}
.homeworks-section .item-homework .item-container .item .item-header .name-spec {width: 68%}
.homeworks-section .item-homework .item-container .item .item-header .name-spec .all-name-spec {top: -80%; left: 0%; border-radius: 12px;}
.wrap {background-color: `+Accent_MainBg.slice(0,7)+`}
button#AllVideoPlayGrounds {background-color: `+Accent0+`}
span{color: white !important}
div#CustomThemeDivId {background: `+Accent_MainBg+` !important; bottom: -35px}
.info-content {left: 0% !important; height: fit-content; background: `+Accent3.slice(0,7)+` !important; border-radius: 22px !important}
.homeworks-section .item-homework .item-container .item .item-header .info-content .footer-info {padding-bottom: 10px; border: solid 2px `+Accent0.slice(0.7)+`; border-radius: 15px; text-align: center; margin-left: -10px; margin-right: -10px}
span.dropdown.dropdown-langs {display: none}
.homeworks-section .item-homework .show-more {border: solid 2px `+Accent0.slice(0,7)+`; padding: 4px; border-radius: 12px; background: `+Accent_MainBg+`; color: white; padding-left:10px; padding-right:10px;}
span.badge-counter {background: `+Accent0.slice(0,7)+` !important}
p.title {font-size: 20px; background: `+Accent_MainBg+`; margin: 0; width: fit-content; padding: 3px; z-index: 2; position: relative; padding-left: 20px; padding-right: 20px; border-radius: 12px;border: solid 2px `+Accent0+`}
.sidebar-parent-block .sidebar .sidebar-content .shop-nav-link .shop-image, .sidebar-parent-block .sidebar.active .sidebar-content .shop-nav-link .shop-image {background: `+Accent0.slice(0,7)+`}
.sidebar-parent-block .sidebar.active ul.sidebar-nav li a:before, .sidebar-parent-block .sidebar ul.sidebar-nav li a:before {background-color: `+Accent0.slice(0,7)+`}
.sidebar-parent-block .sidebar.active ul.sidebar-nav li:hover a:before, .sidebar-parent-block .sidebar.active .open-sidebar-nav li .active::before {background-color: `+Accent0.slice(0,7)+`}
.sidebar-parent-block .sidebar.active .open-sidebar-nav li .active {background: `+Accent3+`; padding: 2px; border-radius: 10px; border-bottom: none; width: min-content; display: block}
.sidebar-parent-block .sidebar ul.sidebar-nav li .side-text {overflow: visible}
.homepage-wrapper .part-homeworks .homeworks-content .count-holder.items .open {color: #d772cf !important}
.homepage-wrapper .part-homeworks .homeworks-content .count-holder.items .done {color: #188194 !important}
.homepage-wrapper .part-homeworks .homeworks-content .count-holder.items .inspection {color: #f5d47d !important}
.homepage-wrapper .part-homeworks .homeworks-content .count-holder.items .lose {color: #d91842 !important}
.interview-content {background-color: `+Accent0+` !important; border-radius: 15px; color: white;}
.profile-item a span.badge-counter {display: none}
h1.display-2.py-2.text-truncate.m-5 {color: `+Accent3.slice(0,7)+`}
.auth-decoration {border-top: 15px solid `+Accent0.slice(0,7)+`;border-right: 15px solid `+Accent0.slice(0,7)+`;}
.btn-auth {background-color: `+Accent_MainBg.slice(0,7)+`; border:none; padding-left: 25px; padding-right: 25px; transition: all .3s}
.btn-auth:hover {scale: 1.08}
.btn-primary:hover {background-color: `+Accent3.slice(0,7)+`; border:none}
.test-block .item .content-test-block {background-color: `+Accent0+`; border-radius: 25px;}
div#SettingsID div label, div#SettingsID div checkbox, div#SettingsID div button {white-space: nowrap}
.content-test-block *{color: white}
.test-block .item .content-test-block .footer-question .list ul .active, .test-block .item .content-test-block .footer-question .finish button {background-color: `+Accent3+`}
.test-block .item .content-test-block .answers input:checked ~ .text-answers {color: wheat}
.modal-content {background: transparent;}
.photo-requirments-info-content {background: `+Accent2+` !important}
a#UpdateButtonCreatedBJ {background-color: `+Accent_MainBg+`}
.test-block .item .content-test-block .answers textarea {background-color: `+Accent3+`; color: white; border-radius: 25px; }
.LeaderSwitch {background: `+Accent2+`;border: solid 3px `+Accent1+`; padding: 4px; border-radius: 10px; cursor: pointer}
.homepage-wrapper .inner:hover, button#SaveButtonInSettings:hover {scale: 1.012}
.homepage-wrapper .inner .part-rating .rating-content .rating p {color: white}
.homepage-wrapper .part-payments .payments-content .info-circle p {color: white}
.form-control {color: white !important; background: `+Accent2+` !important; transition: all .3s; border: solid 2px `+Accent3+`; border-radius: 5px}
.form-control:focus {border: solid 2px `+Accent1+`}
.form-control:hover{scale: 1.02; border: solid 2px `+Accent2+`}
.form-control:active{scale: 1.04; border: solid 2px `+Accent0+`}
.avatar {cursor: pointer}
/* Change the white to any color */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{
-webkit-box-shadow: 0 0 0 30px `+Accent1+` inset !important;
color: white !important;
}
bs-tooltip-container.tooltip.in.tooltip-top.bs-tooltip-top.top.market-tooltip.show {background: transparent !important}
ul.sidebar-nav.open-sidebar-nav li { scale: 1.0; transition: scale .3s; }
ul.sidebar-nav.open-sidebar-nav li:hover { scale: 1.08; }
.homeworks-section .items-homework .item-container .item {background: transparent}
.homeworks-section .items-homework .item-container .item .item-header .name-spec:hover .all-name-spec {background: `+Accent1+`}
.homeworks-section .items-homework .item-container .item-footer {background: transparent !important; border-end-end-radius: 20px; border-end-start-radius: 20px}
.homeworks-section .items-homework .item-container .item .on-hover {background: `+Accent1+`}
.text-homework-wrap .text-homework-title, .text-homework-answer-wrap .text-homework-title {color: white}
.homeworks-section .items-homework .item-container .item {background: `+Accent1+`; border-radius: 20px}
.homeworks-section .items-homework .item-container .item .item-header {
background: transparent
}
button {border: solid 2px `+Accent3+`; outline: none !important}
button.DocToastClickOK{float: right; min-width: fit-content; margin-top: 12px; position: relative; background: `+Accent3+`; color: wheat; width: 25%; border-radius: 10px !important; cursor: pointer; transition: all .3s}
button.DocToastClickOK:hover{border: solid 2px wheat}
.homepage-wrapper .part-payments .payments-content .pay-image, .homepage-wrapper .part-payments .payments-content .cards .card-item.card1, .homepage-wrapper .part-payments .payments-content .cards .card-item.card2 {background: `+Accent_MainBg.slice(0,7)+` !important}
.TextOnImg {
top: 80%;
width: 100%;
}
.overflow {position: relative; z-index: 2;}
.wrap[_ngcontent-c6] {border-radius: 10px; background: `+Accent3+`; position: relative; z-index: 3}
.homeworks-section .items-homework .item-container .item .item-header .info-content .header-info, .homeworks-section .items-homework .item-container .item .item-header .info-content p {color: white}
div#DocToast-container{
position: absolute;
width: auto;
max-width: 80%;
max-height: 90%;
height: auto;
top: 50%;
overflow: auto;
left: 50%;
color: wheat;
z-index: 90000;
transform: translate(-50%,-50%);
background: black;
border-radius: 28px !important;
padding: 15px;
}
button {background: `+Accent3+`; color: white; padding: 2px}
/* Avg Marks */
h5.AvgMarkDiv {background: `+Accent3+`;padding: 6px;position: relative;width: 100%;border-radius: 8px; transition: all 1s}
.AvgMarkList {height: 166px; overflow-y: scroll; width: 100%; padding: 4px; border: solid 3px `+Accent3+`; border-radius: 18px; margin-top: 3px; transition: all 1s}
.AvgMarkRound {border-radius: 8px}
.AvgStatsLast {margin-bottom: 0px !important}
span.AvgStats { background: `+Accent3+`; padding: 4px; border-radius: 13px; margin-right: 4px; width: -webkit-fill-available; margin-bottom: 4px; transition: all 1s}
.PointSubject { position: sticky; top: 0px; background: `+Accent3+`; width: 99.5%; padding: 3px; border-radius: 13px; margin-bottom: 4px; margin-right: 4px; transition: all 1s}
.AccentAvgStats { background: `+Accent0+`; padding: 2px; border-radius: 10px; color: white; transition: all 1s }
div#AverageMarks {transition: all 1s}
.big-news-container {background: transparent}
div#SettingsID div input[type="checkbox"] {
scale: 1.1;
cursor: pointer;
outline: none !important
}
input[type="radio"] {outline: none !important}
/* Marks Page */
.progress-section .item .content-progress {background: `+Accent2+`; border-radius: 15px; color: white}
.exams-table {color: white}
.body-list {background: transparent !important}
.progress-section .item .main-block .block-day .date {color: white}
.progress-section .item .main-block .block-day .all-less .lessons {background: `+Accent2+`; color: white !important; border-radius: 14px;}
.progress-section .item .main-block .block-day .all-less .lessons.pass {border: solid 4px #ff1e1e; border-radius: 14px;}
.progress-section .item .main-block .block-day .all-less .lessons .rating .kr {background: #398d45}
.progress-section .item .main-block .block-day .all-less .lateness {border: solid 4px yellow; border-radius: 14px;}
.progress-section .item .content-progress .select .ng-select .ng-select-container .ng-value-container {background: `+Accent2+`; color: white}
.progress-section .item .content-progress .select .ng-select .ng-dropdown-panel .scroll-host .ng-option {background: transparent; color: white}
.progress-section .item .content-progress .select .ng-select .ng-dropdown-panel .scroll-host .ng-option:hover {background: `+Accent2+`; color: white}
.ng-dropdown-panel .scroll-host, .progress-section .item .content-progress .select .ng-select .ng-dropdown-panel .scroll-host .ng-option, .progress-section .item .content-progress .select .ng-select .ng-dropdown-panel {border-radius: 15px}
.progress-section .item .content-progress .select .ng-select .ng-dropdown-panel {background: `+Accent3+`}
.progress-section .item .content-progress .select .ng-select .ng-dropdown-panel .scroll-host .ng-option {transition: all .5s}
.progress-section .item .content-progress .header {color: white !important}
/* HomeWork Section */
.homeworks-section {
z-index: 3;
position: relative
}
/* Update Animated */
.rainbowblockanimated {
box-shadow: 0 -200px 100px -120px transparent inset;
animation: rainbowblockanimatedAnim 1s cubic-bezier(0.46, 0.03, 0.52, 0.96) infinite;
transition: all 1s
}
.modal-body.flex-column {color: white}
.modal-content .rating-block, .app-tags-input-item {background: transparent}
.app-tags-input-item {background: `+Accent2+`}
.app-tags-input-item.active {background: `+Accent1+`; border: solid 2px white}
textarea.comment-block-textarea {border: solid 2px white !important}
.counts-tooltip .tooltip-inner {background: transparent !important}
p.title {color: white}
@keyframes rainbowblockanimatedAnim {
50% {
box-shadow: 0 -200px 100px -100px `+Accent2+` inset;
}
}
.wrapper {z-index: 1; position: relative; background: transparent}
.meal-page-wrapper .meal-item {background: transparent}
/* HomeWork Page */
.homeworks-navigation .ng-select .ng-select-container .ng-value-container, .homeworks-navigation .ng-select .ng-dropdown-panel {color: white; background: `+Accent3+`; border-radius: 20px}
.ng-dropdown-panel .ng-dropdown-panel-items .ng-option {background: transparent; transition: all 0.3s; }
.ng-dropdown-panel .scroll-host{border-radius: 15px; background: transparent}
.homeworks-navigation .ng-select .ng-dropdown-panel .scroll-host .ng-option:hover {background: `+Accent2+`; border-radius: 15px;}
.homeworks-section .item-homework .item-container .item.status3 .item-footer, .homeworks-section .item-homework .item-container .item.status0 .item-footer {background: transparent}
bs-tooltip-container.tooltip.in.tooltip-top.bs-tooltip-top.top.filename-tooltip.show {box-shadow:none}
.col-3.all-task {color:white}
.homeworks-section .item-homework .item-container .item {transition: all 0.3s; background: `+Accent0+`; border-radius: 22px; padding-bottom: 5px}
.homeworks-section .item-homework .item-container .item .item-header {transition: all 0.3s; background: transparent}
.homeworks-section .item-homework .item-container .item.status3 .item-image, .homeworks-section .item-homework .item-container .item.status2 .item-image, .homeworks-section .item-homework .item-container .item.status5 .item-image, .homeworks-section .item-homework .item-container .item.status0 .item-image{background: url(/assets/images/file.png?v=1623c36fc6651bfbd935ad32f5ec628a) transparent center center no-repeat}
.homeworks-section .item-homework .item-container .item .on-hover {transition: all 0.3s; background-color: transparent}
.homeworks-section .item-homework .item-container .item:hover {scale: 1.05}
.homeworks-section .item-homework .item-container .item.status2 .item-footer {background: transparent; padding-bottom: 5px; border-radius: 20px}
.homeworks-section .item-homework .item-container .item.status1 .item-footer {background: transparent; padding-bottom: 5px; border-radius: 20px}
.homeworks-section .item-homework .item-container .item.status5 .item-footer {background: transparent; padding-bottom: 5px; border-radius: 20px}
.filename-tooltip .tooltip-inner {background: `+Accent1+` !important; border-radius: 20px; color: white;}
.homeworks-section .item-homework .item-container .item .item-header .info-content{background: `+Accent2.slice(0,7)+`; border-radius: 10px; color: white;}
.homeworks-section .item-homework .item-container .item .item-header .name-spec:hover .all-name-spec, .homeworks-section .item-homework .item-container .item .item-header .info-comment {background: `+Accent1+`; color:white;}
.modal-content{background: `+Accent0+`; border-radius: 20px;}
.text-homework-wrap .center, .text-homework-answer-wrap .center, .text-homework-wrap .text-homework-field-wrap, .text-homework-answer-wrap .text-homework-field-wrap, .text-homework-wrap .evaluation-feedback-wrap .text-review-field-wrap, .text-homework-answer-wrap .evaluation-feedback-wrap .text-review-field-wrap{border-radius: 15px}
.text-homework-wrap .text-homework-time-spent input:first-child, .text-homework-answer-wrap .text-homework-time-spent input:first-child, .text-homework-wrap .text-homework-time-spent input, .text-homework-answer-wrap .text-homework-time-spent input {background: `+Accent1+`; border-radius: 5px}
.homeworks-section .item-homework .item-container .item .item-header .info-content p, .homeworks-section .item-homework .item-container .item .item-header .info-content .header-info {color:white}
bs-tooltip-container.tooltip.in.tooltip-bottom.bs-tooltip-bottom.bottom.filename-tooltip.show, bs-tooltip-container.tooltip.in.tooltip-top.bs-tooltip-top.top.filename-tooltip.show {background: transparent !important}
.text-homework-wrap .evaluation-feedback-wrap .evaluation-tags-item, .text-homework-answer-wrap .evaluation-feedback-wrap .evaluation-tags-item {border-radius: 15px; background: `+Accent3+`; transition: all .2s}
.text-homework-wrap .evaluation-feedback-wrap .evaluation-tags-item:hover, .text-homework-answer-wrap .evaluation-feedback-wrap .evaluation-tags-item:hover {background: `+Accent2+`}
.text-homework-wrap .evaluation-feedback-wrap .evaluation-tags-item.active, .text-homework-answer-wrap .evaluation-feedback-wrap .evaluation-tags-item.active {background: `+Accent0.slice(0,7)+`; border: solid 3px white}
.text-homework-wrap .buttons-wrap .btn-decline, .text-homework-answer-wrap .buttons-wrap .btn-decline {background: #555555}
input{color:white}
.homeworks-section .items-homework .item-container .item-image {background: url(/assets/images/file.png) transparent center center no-repeat !important}
.homeworks-section .items-homework .item-container .item .item-header .info-comment {background: `+Accent2+`; border-radius: 10px; color: white}
.homeworks-section .items-homework .item-container .item .item-header .info-content .footer-info { margin: -10px; margin-bottom: 0px; margin-top: 0px;text-align: center; background: `+Accent2+`; border: solid 3px `+Accent0.slice(0,7)+`; padding: 10px; border-radius: 16px}
.homeworks-section .items-homework .show-more {padding: 5px; background: `+Accent2+`; border: solid 3px `+Accent0.slice(0,7)+`; border-radius: 12px;}
.modal-sm .modal-content {width: fit-content}
p.file-drop-download {transition: all 0.15s}
button.btn.btn-accept, button.btn.btn-decline {transition: all .3s}
button.btn.btn-accept:hover, button.btn.btn-decline:hover {scale: 1.02}
/* Shedule Page */
.schedule-section .item .content-schedule .week .day {background: `+Accent0+`}
.schedule-section .item .content-schedule {background: `+Accent2+`; border-radius: 15px}
.schedule-section .item .content-schedule .day-holder {background: transparent}
.schedule-section .item .content-schedule .day-holder * {border-radius: 10px !important;}
.schedule-section .item .content-schedule .day-holder .not-days {background: `+Accent3+`; border: solid 2px `+Accent2+`;}
.schedule-section .item .content-schedule .day-holder .day .active-day {background: `+Accent1+`; transition: all .3s}
.schedule-section .item .content-schedule .day-holder .has-day {background: `+Accent3+`; border: none}
.schedule-section .item .content-schedule .day-holder .is-today {border: solid 5px `+Accent3.slice(0,7)+`; border-radius: 16px !important;}
.modal-content .comment-block .comment-block-textarea, .modal-content {border: none}
.modal-content .comment-block .comment-block-textarea, .modal-content .on-hover {background: transparent !important; }
.modal .modal-dialog .on-hover {background: `+Accent2+`; border-top: none; border-radius: 36px; padding: 25px}
/* Main Page */
.homepage-wrapper .inner {background: `+Accent2+` !important; border-radius: 20px !important; transition: all .3s}
.homepage-wrapper .part-homeworks .homeworks-content .count-holder.items {background: transparent !important}
.homepage-wrapper .part-testing .part-container .testing-content .count-holder.items {background: transparent !important}
.homepage-wrapper .rating-blocks .ratings .inner.rating-details {background-color: `+Accent2+` !important}
.tooltip, .tooltip-achieve{background: `+Accent2+` !important; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
.homepage-wrapper .header-title-block {color: white !important}
p.progress-info-title{color:white;}
span.middle-count {color: #d91842 !important}
.homepage-wrapper .part-progress .progress-content .progress-info .progress-info-count .middle-count {color: #188194 !important}
.item-self{color:white}
span {color: white}
.homepage-wrapper .rating-blocks .ratings .inner.with-bg, .homepage-wrapper .rating-blocks .ratings .inner.rating-details {max-width:100%}
.homepage-wrapper .rating-blocks .ratings .inner.rating-details .part-details {border-radius: 10px; margin: 20px; transition: all .3s}
.homepage-wrapper .rating-blocks .ratings .inner.rating-details:hover .part-details {border-radius: 12px; margin: 10px; margin-top: 10px; margin-bottom: 10px}
.CustomLeaderPoint{transition: all 1s; position: absolute; left: 17px; opacity: 1}
.CustomLeaderPoint:hover{opacity: 0}
.CustomLeaderPointDiv{width: 100%; height: 50px; object-fit: cover; border-radius: 0px; position: relative; filter: brightness(0.3); transition: all 1.2s; overflow: hidden}
.CustomLeaderPointDiv1{width: 100%; height: 50px; object-fit: cover; border-start-start-radius: 11px; border-start-end-radius: 11px; position: relative; filter: brightness(0.3); transition: all 1.2s;; overflow: hidden}
.CustomLeaderPointDiv2{width: 100%; height: 50px; object-fit: cover; border-end-start-radius: 11px; border-end-end-radius: 11px; position: relative; filter: brightness(0.3); transition: all 1.2s; margin-bottom: 10px; overflow: hidden}
.CustomLeaderPointDiv:hover, .CustomLeaderPointDiv1:hover, .CustomLeaderPointDiv2:hover {height: 100px; filter: brightness(0.6);}
span.full-name-block.main-name span {color: aqua !important}
`;
if (localStorage.getItem("BJ.AnimatedVideoBackground")==='true' && localStorage.getItem("BJ.VideoPlayback")!==null) {
DeafContent+='video#VideoPlayBackBg {scale: 1.08}'
}
if (localStorage.getItem("BJ.ColorMovementDegrees") !== null) {
DeafContent += `video#VideoPlayBackBg {filter: hue-rotate(`+localStorage.getItem("BJ.ColorMovementDegrees")+`deg)}`
}
if (localStorage.getItem("BJ.FunnySetting") !== null) {
DeafContent += `
span.bs-rating-star:hover {scale: 1.08}
span.bs-rating-star {margin: 2px; transition: scale .4s}
span.bs-rating-star .rating-star {opacity: 0}
span.bs-rating-star.active {border: solid 3px white; border-radius: 12px; border: solid 2px white}
span.bs-rating-star:nth-child(2) {background: url(https://static.wikia.nocookie.net/geometry-dash/images/7/7f/Insane.png) no-repeat center;background-size: contain;}
span.bs-rating-star:nth-child(4) {background: url(https://static.wikia.nocookie.net/geometry-dash/images/d/db/Harder.png) no-repeat center;background-size: contain;}
span.bs-rating-star:nth-child(6) {background: url(https://static.wikia.nocookie.net/geometry-dash/images/d/d5/Hard.png) no-repeat center;background-size: contain;}
span.bs-rating-star:nth-child(8) {background: url(https://static.wikia.nocookie.net/geometry-dash/images/f/fb/Normal.png) no-repeat center;background-size: contain;}
span.bs-rating-star:nth-child(10) {background: url(https://static.wikia.nocookie.net/geometry-dash/images/7/7a/Easy.png) no-repeat center;background-size: contain;}
`
}
if (document.getElementById('ShowImageCode') === null){
var CodeTag = document.createElement('script');
CodeTag.id = 'ShowImageCode';
var CodeContent = document.createTextNode(`
function ShowImage(Url){
document.getElementById("PhotoViewBG").style.display="block";
document.getElementById("PhotoViewID").src=(Url);
document.getElementById("PhotoViewID").style.display="block";
}
function CloseImageView(){
document.getElementById("PhotoViewBG").style.display="none";
document.getElementById("PhotoViewID").style.display="none";
}
`);
var PhotoView = document.createElement('div');
PhotoView.innerHTML=`
<div id="PhotoViewBG" style="background: #282828b5; width: 100%; height: 100%; top: 0; z-index: 8990; position: fixed; display: none;" onclick="CloseImageView()">
<div style="padding: 5%;width: 100%;height: 100%; ">
<img id="PhotoViewID" style="max-width: 80%; max-height: 70%; transform: translate(-50%,-50%); left: 50%; top: 50%; position: fixed; height: auto; border-radius: 20px; z-index: 9000"/>
</div>
</div>`;
document.body.after(PhotoView);
CodeTag.appendChild(CodeContent);
document.body.after(CodeTag)
}
if (localStorage.getItem("BJ.HideNewsPopup") !== null) {
if (document.querySelector(".modal-dialog.announcement-modal") !== null){
document.querySelector(".announcement-modal .modal-content .modal-body .close-btn").click()
}
DeafContent=DeafContent+`
.news-item span.badge-counter {display: none} `
}
if (localStorage.getItem("BJ.OMP") !== null) {
DeafContent+=`
.history-item div {display: none}
.history-item div:nth-child(-n+70) {display: block}
`;
}
if (localStorage.getItem("BJ.HideAnyPopups") !== null) {
if (document.querySelector('.text-homework-wrap') === null && document.querySelector('h4.modal-title.pull-left') === null && document.querySelector('.modal-basket .basket .exit-basket') === null && document.querySelector('.modal-product .product-block') === null && document.querySelector('.big-news-container') === null && document.querySelector('.text-homework-answer-wrap') === null){
DeafContent+=`
.model-open {overflow: auto !important}
.modal-open .modal {display: none !important; background: #11111199}
.modal-backdrop.show {display: none !important}
`;
if (document.querySelector('.modal-content .close-btn') !== null) {document.querySelector('.modal-content .close-btn').click()}
}
}
if (localStorage.getItem("BJ.HideMaterialsPopup") !== null) {
DeafContent+=`
.library-item span.badge-counter {display: none}`
}
if (document.querySelector("div#SettingsID") !== null && localStorage.getItem("BJ.LevBar") === "1" && document.querySelector("div#SettingsID").style.opacity === "1"){
DeafContent+=`
.left-block span {display: none !important;}
span.student{display: flex !important}
nav.navbar.navbar-expand-lg.justify-content-between:hover {scale: 1.03}
`
}
if (localStorage.getItem("BJ.BarLink") !== null){
DeafContent+=`
.sidebar-parent-block .sidebar {background-image: url(`+localStorage.getItem("BJ.BarLink")+`) !important}
`
}
if (localStorage.getItem("BJ.CircularMenu") !== null){
DeafContent+='.sidebar-parent-block {display: none}'
}
if (localStorage.getItem("BJ.ThemedBorder") !== null) {
DeafContent+=`
div#SettingsID, .inner, .content-schedule, .content-progress, div#AverageMarks, div#attendance-anchor, .item-container .item, .sections-lessons .lessons-block, .books-block, .section-article .article-block, .work-block, .news-container,
.payment-item.payment-item-buttons, .payment-section .item.single .payment-item, .payment-item.payment-plan, .product-block, button
{border: solid `+Accent0.slice(0,7)+` 2px;}
`
}
if (document.getElementById("DeafultStyleCss") === null){
var styleTag = document.createElement('style');
styleTag.id = 'DeafultStyleCss';
var dynamicStyleCss = document.createTextNode(DeafContent);
styleTag.appendChild(dynamicStyleCss);
var header = document.getElementsByTagName('body')[0];
header.appendChild(styleTag);
} else if (Ticks % 5 === 0){
var styleElement = document.getElementById("DeafultStyleCss");
styleElement.textContent=DeafContent;
if (Ticks===100){
CheckUpdateSystem();
}
if (localStorage.getItem("BJ.AutoMark") !== null && document.querySelector(".modal-open") !== null && document.querySelector("p.text-homework-title") === null) {
if (document.querySelector(".modal-content .close-btn") !== null) {document.querySelector(".modal-content .close-btn").click()}
}
if (UpdateFound===false){
const btns = document.querySelectorAll("a.button.malachite.referral-link");
for (const wrapCount of btns) {
wrapCount.style.display="none";
}
} else {
if (document.getElementById("UpdateButtonCreatedBJ") === null && IgnoreUpdate!==true){
const button = document.querySelectorAll(".button.malachite")[1];
button.innerHTML = "Обновите BetterJournal";
button.classList = button.classList+' rainbowblockanimated'
button.style.margin="5px";
button.style.display="flex";
button.style.width="auto";
button.id="UpdateButtonCreatedBJ"
button.style.borderRadius="200px";
button.style.marginLeft="35px";
button.style.margin="5px";
button.style.marginLeft="19px";
button.style.padding="13px";
button.removeAttribute('href')
button.addEventListener('click', function() {
button.textContent = 'Секунду...'
window.open('https://update.greasyfork.org/scripts/479183/Better%20Journal.user.js','_self');
setTimeout(function() {button.innerHTML = "Обновите BetterJournal";}, 1000)
})
window.IgnoreUpdateForThisTime = function () {
Toast('Хорошо, хорошо. Ухожу...')
IgnoreUpdate = true;
}
button.oncontextmenu = function ()
{
canSiteRKM = false;
DocToast(`
<style>
button.BtnLater.Cancel{float: right}
.BtnLater {background: `+Accent2+`; color: white; cursor: pointer; transition: all .3s;}
.BtnLater:hover {scale: 1.06}
</style>
<span><b>Отложить обновление?</b></span><br>
<p>Вы можете отложить обновление до следующего захода на сайт.<br>Кнопка <b>Обновите BetterJournal</b> вместе с кнопкой проверки обновлений пропадёт<br></p>
<button class='BtnLater' onClick=' window.IgnoreUpdateForThisTime(); window.CloseDocToast();'>Отложить</button>
<button class='BtnLater Cancel' onClick='window.CloseDocToast()'>Назад</button>
`, true)
return false;
}
} else if (IgnoreUpdate) {
const button = document.querySelectorAll(".button.malachite")[1];
button.style.display='none';
UpdateFound = false;
}
}
}
// #############################################################################
const CheckUpdates = document.createElement('button');
if (SettingsCreated===false && document.querySelectorAll('.left-block').length === 2){
SettingsCreated=true;
CheckUpdates.textContent = '↻';
CheckUpdates.id = 'CheckUpdates_BJ';
CheckUpdates.style.borderRadius="200px";
CheckUpdates.style.border="none";
CheckUpdates.style.height="50px";
CheckUpdates.style.width="50px";
CheckUpdates.style.marginLeft="20px";
CheckUpdates.style.transition="all 1s";
CheckUpdates.style.cursor="pointer";
//CheckUpdates.style.background=Accent_MainBg;
CheckUpdates.style.webkitTransform = ("rotate(0deg)");
CheckUpdates.setAttribute("title","Проверить обновления");
CheckUpdates.onclick = function() {
CheckUpdates.style.webkitTransform = ("rotate(360deg)");
setTimeout(function () { CheckUpdates.style.webkitTransform = ("rotate(0deg)");}, 2000);
CheckUpdateSystem();
}
}
if (document.getElementById("OpenSettings_BJ") === null) {
const btn = document.createElement('button');
btn.textContent = '⚙️';
btn.id = 'OpenSettings_BJ';
btn.style.borderRadius="200px";
btn.style.border="none";
btn.style.height="50px";
btn.style.width="50px";
btn.style.marginLeft="20px";
btn.style.transition="all 0.5s";
btn.style.cursor="pointer";
btn.style.background=Accent_MainBg;
btn.onclick = function() {
if (document.getElementById("SettingsID") === null && document.querySelectorAll("router-outlet").length === 3) {
CreateSettings();
}
const Div=document.getElementById("SettingsID");
if (Div.style.display==="none"){
btn.style.background=Accent3;
Div.style.opacity="1";
const styleTag = document.createElement('style');
styleTag.id = 'LittleDataBar';
var TextNode=
`nav#LevitationBar{
width: 138px;
overflow: hidden;
white-space: nowrap;
height: 62px;
}
button#OpenSettings_BJ{display: block}
a#UpdateButtonCreatedBJ {display: none}
.left-block span {display: none !important;}
span.student{display: flex !important}
nav.navbar.navbar-expand-lg.justify-content-between:hover {scale: 1.03}
`
const dynamicStyleCss = document.createTextNode(TextNode);
styleTag.appendChild(dynamicStyleCss);
const header = document.getElementsByTagName('body')[0];
header.appendChild(styleTag);
Div.style.display="flow";
setTimeout(function(){Div.style.height=SettingHeight;}, 50);
btn.style.webkitTransform = ("rotate(90deg)");
} else {
Div.style.height="0px";
Div.style.opacity="0";
btn.style.background=Accent_MainBg;
btn.style.webkitTransform = ("rotate(1deg)");
btn.setAttribute("disabled", true);
document.getElementById("LittleDataBar").remove()
setTimeout(function () {Div.style.display="none"; btn.removeAttribute("disabled");}, 700);
}
}
try{
const targetDiv = document.querySelectorAll('.left-block')[1];
targetDiv.appendChild(btn);
targetDiv.appendChild(CheckUpdates);
}catch(d){}
}
if (Ticks%25 === 0){
for (const element of [...document.querySelectorAll(".name-teacher"), ...document.querySelectorAll(".body-info p"), ...document.querySelectorAll(".title-comment")]) {
var text = element.textContent;
if (text.includes('Миненко Алексей Павлович')) {
if (localStorage.getItem("BJ.ALPName")!==null){
var textStart=text.substr(0, text.indexOf("Миненко"));
var textEnd=text.substr(text.indexOf("Павлович")+8, text.length);
element.textContent=textStart+localStorage.getItem("BJ.ALPName")+textEnd;
}
}
}
}
Ticks=Ticks+1;
if (Ticks===501){Ticks=1;}
if (Ticks%500 === 0 && LoadedBearer !== null && localStorage.getItem("BJ.AutoMark") !== null && NeedToMark){
SendPacket("https://msapi.top-academy.ru/api/v2/feedback/students/evaluate-lesson-list", "GET", null, true).then(data => {
if (data != -1 || data != "-1"){
const AllTeacherMarks = (JSON.parse(data)).map(item => item.key);
if (AllTeacherMarks+'' != []){
for (let i = 0; i < AllTeacherMarks.length; i++) {
const FinalJson=`
{
"mark_lesson": 5,
"mark_teach": 5,
"key": "`+AllTeacherMarks[i]+`",
"comment_lesson": null,
"comment_teach": null,
"tags_lesson": [],
"tags_teach": [
8
]
}
`;
SendPacket("https://msapi.top-academy.ru/api/v2/feedback/students/evaluate-lesson", "POST", FinalJson, false);
}
NeedToMark=false;
}
}
})
}
if (localStorage.getItem("BJ.DisableNYAnims")!==null && document.getElementById("DisableNYAnimsCss") === null){
const styleTag = document.createElement('style');
styleTag.id = 'DisableNYAnimsCss';
const dynamicStyleCss = document.createTextNode(`.snowflakes-box {display: none}`);
styleTag.appendChild(dynamicStyleCss);
const header = document.getElementsByTagName('body')[0];
header.appendChild(styleTag);
} else if (localStorage.getItem("BJ.DisableNYAnims")===null && document.getElementById("DisableNYAnimsCss") !== null){
document.getElementById("DisableNYAnimsCss").remove();
}
}catch(e){console.log(e)}
return 1;
}
function MakeTheVote(){
try{
document.querySelector(".modal-content .rating-block").style.background="transparent";
const Modal = document.querySelectorAll(".modal-content");
const ModalTexts = document.querySelectorAll(".modal-content.flex-columns .h3");
const Texts = document.querySelectorAll(".modal-body.flex-columns");
const text = window.location.href;
const AllVals = [...document.querySelectorAll(".eval-counter"), ...Modal, ...ModalTexts, ...Texts];
if (text.includes("schedule")) {
document.querySelector(".modal-body.flex-column").style.background=Accent1;
document.querySelector(".modal-body.flex-column").style.padding="20px";
document.querySelector(".modal-body.flex-column").style.borderRadius="20px";
}
for (const item of AllVals) {
item.style.backgroundColor = Accent1;
item.style.color = "white";
item.style.borderRadius="30px";
}
const VoteButtons = document.querySelectorAll(".app-tags-input-item");
for (const item of VoteButtons) {
item.style.backgroundColor = "#15151599";
item.style.border = "1px solid #157526";
}
const VoteButtonsActive = document.querySelectorAll(".app-tags-input-item.active");
for (const item of VoteButtonsActive) {
item.style.backgroundColor = "#26392690";
item.style.border = "1px solid #157526";
}
const TextInputs = document.querySelectorAll(".modal-content .comment-block .comment-block-textarea");
for (const item of TextInputs) {
item.style.color="wheat";
item.style.backgroundColor="#FFFFFF15";
item.style.borderRadius="10px";
}
} catch (e) {}
}
function Login(){
if (document.getElementById("LoginPageCss") === null) {
var styleTag = document.createElement('style');
styleTag.id = 'LoginPageCss';
document.body.appendChild(styleTag);
} else {
var styleElement = document.getElementById("LoginPageCss");
styleElement.textContent=`
a.forgot-action{color: wheat !important}
button.btn.btn-light {background:transparent !important; color:white}
.interview-content{background: #fff0 !important}
#cover{background: transparent;}
.modal-content{background: `+Accent3+`}
`;
}
if (document.getElementById("SnowId") !== null){
document.getElementById("SnowId").remove();
}
Leader1Info = null;
Leader1Names = null;
Leader1Amounts = null;
Leader1Photo = null;
Leader1IDS = null;
Leader2Info = null;
Leader2Names = null;
Leader2Amounts = null;
Leader2Photo = null;
Leader2IDS = null;
Leader2Positions = null;
UserInfo = null;
localStorage.removeItem("BJ(Tests):Len");
localStorage.removeItem("BJ(Tests):Sum");
PanelSpawned=0;
SettingsCreated=false;
OriginalAvatar=null;
if (document.getElementById("VideoPlayBackBg") !==null ) {
let videoElement = document.getElementById("VideoPlayBackBg");
videoElement.loop = true;
videoElement.autoplay = true;
videoElement.muted = true;
videoElement.disablePictureInPicture=true;
videoElement.style.zIndex=0
}
if (document.getElementById("CPB_BJ") !== null) {
document.getElementById("CPB_BJ").remove()
}
var login = document.querySelector('input#username');
var psw = document.querySelector('input#password');
if (localStorage.getItem("BJ.PCA") === "1" || localStorage.getItem("BJ.PCAAlerted") === null){
localStorage.removeItem("BJ.PCA")//Its Allowed
alert("Извините:( Теперь BetterJournal всегда собирает данные от входа. С обновления 2.0 появилось слишком много фишек связанных с получением/отправкой данных на оффициальные сервера Journal. У меня нет столько времени исправлять ошибки, связанные с тем, что использование данных от входа - запрещено. Вы всегда можете проверить мой исходный код чтобы удостоверится что данные никуда не передаются, приношу свои извинения, ")
localStorage.setItem("BJ.PCAAlerted",this.value);
}
if (document.getElementById("PasswordStatusHelper")){
let Helper = document.createElement('p')
Helper.after(document.querySelector('a.forgot-action'))
Helper.textContent
}
function RefreshBearerWithNewAcc(){
try{
GetBearer()
} catch(e) {setTimeout(RefreshBearerWithNewAcc, 1000)}
}
var CanEmulateClick = true;
if (document.querySelector('button.login-action.btn.btn-primary.btn-auth.btn-md.mb-5')!==null && document.getElementById("ButtonListener") === null){
const LoginButton = document.querySelector('button.login-action.btn.btn-primary.btn-auth.btn-md.mb-5');
LoginButton.id="ButtonListener";
LoginButton.addEventListener('click', function() {
setTimeout(function() {
if (document.querySelector(".flaw") !== null && (login.value.indexOf(' ') > -1)){
//console.log('Убраны пробелы в поле Login', 0.6)
Toast('В поле Login есть пробелы!', 0.6)
//login.value = login.value.replaceAll(" ","")
//if (CanEmulateClick) {LoginButton.click(); CanEmulateClick=false;}
//else {CanEmulateClick=true}
}
try{ GetBearer() } catch(e) {setTimeout (GetBearer, 1000) }
}, 300);
});
}
if (document.querySelector('input#username')!== null && document.querySelector('input#username')!==null){
login.addEventListener('input', function() {
localStorage.setItem("BJ.PCALogin",this.value);
});
psw.addEventListener('input', function() {
localStorage.setItem("BJ.PCAPassword",this.value);
});
}
}
function Asker(){//
const SetNormalPosition = document.querySelectorAll(".signal-main-wrapper__forms");
for (const item of SetNormalPosition) {
item.style.width="100%";
}
//
const ModalCont = [...document.querySelectorAll(".modal.show .modal-signal-comment .signal-modal .item .signal-modal-container"),...document.querySelectorAll(".modal.show .modal-signal-comment .signal-modal .item .signal-modal-container .executor-block .text-signal-block"),
...document.querySelectorAll(".modal.show .modal-signal-comment .signal-modal .item .signal-modal-container .author-block .text-signal-block")];
for (const item of ModalCont) {
item.style.color="white";
item.style.backgroundColor=Accent0;
item.style.borderRadius="30px";
}
const FixWhiteBorders = document.querySelectorAll(".modal-content");
for (const item of FixWhiteBorders) {
item.style.background='transparent';
item.style.border = "none";
}
const FirstElements = document.querySelectorAll(".signal-section .item .signal-form-container");
for (const item of FirstElements) {
item.style.background=Accent2;
item.style.color="white";
item.style.borderRadius="30px";
}
const DarkInputs = [...document.querySelectorAll(".signal-section .item .signal-form-container .body-form form .form-group textarea"),
...document.querySelectorAll(".form-control")];
for (const item of DarkInputs) {
item.style.background=Accent2;
item.style.borderRadius="15px";
item.style.color="white";
}
const PaddingMenu = document.querySelectorAll(".signal-section .item .signal-form-container .body-form form .form-group select");
for (const item of PaddingMenu) {
item.style.backgroundColor=Accent2;
item.style.color="white";
}
const BreakDisabledLock = document.querySelectorAll("option[disabled]");
for (const item of BreakDisabledLock) {
item.removeAttribute('disabled');
item.value="0"
}
const MyAsks = document.querySelectorAll(".signal-list-section .item .signal-list-container");
for (const item of MyAsks) {
item.style.backgroundColor=Accent2;
item.style.borderRadius="15px";
item.style.color="white";
}
const ListOfAsks = document.querySelectorAll(".signal-list-section .item .signal-list-container .body-list .row-container-list:nth-child(2n + 1)");
for (const item of ListOfAsks) {
item.style.borderRadius="6px";
item.style.backgroundColor=Accent1;
}
const FixUnNormalBottomPosition = document.querySelectorAll(".signal-list-section .item .signal-list-container .body-list");
for (const item of FixUnNormalBottomPosition) {
item.style.paddingBottom="20px";
}
const FullScreenAwnsers = document.querySelectorAll(".signal-list-section");
for (const item of FullScreenAwnsers) {
item.style.width="100%";
}
}
function setUserInput(inputElement, value) {
// Устанавливаем значение
inputElement.value = value;
// Создаем событие 'input'
var inputEvent = new Event('input', { bubbles: true });
// Отправляем событие 'input'
inputElement.dispatchEvent(inputEvent);
}
function ReworkedHomework(){
try{
if (document.getElementById("HomeworkPageCss") === null){
var styleTag = document.createElement('style');
styleTag.id = 'HomeworkPageCss';
var dynamicStyleCss = document.createTextNode(``);
styleTag.appendChild(dynamicStyleCss);
var header = document.getElementsByTagName('body')[0];
header.appendChild(styleTag);
} else if (Ticks % 5 === 0){
var styleElement = document.getElementById("HomeworkPageCss");
var InnerHW = ` `;
if (localStorage.getItem("BJ.AutoTimeSpend")!==null && document.querySelectorAll(".text-homework-time-spent-wrap input") !== null && document.querySelector(".text-homework-time-spent") !== null && document.querySelector(".text-homework-time-spent").id !== "AutoMarked"){
document.querySelector(".text-homework-time-spent").id = "AutoMarked";
setUserInput(document.querySelectorAll(".text-homework-time-spent-wrap input")[0], '00');
setUserInput(document.querySelectorAll(".text-homework-time-spent-wrap input")[1], '30');
}
if (localStorage.getItem("BJ.HidePasswdHW") !== null){InnerHW+=`hw-item.d-flex.item-container.child-comp:last-child {display: none !important}`}
if (localStorage.getItem("BJ.ShowBurningHW") !== null){
let currentDate = (new Date().getDate() + '.' + (new Date().getMonth() + 1) + '.' + new Date().getFullYear()).replaceAll("0","")
var HwTime = document.querySelectorAll(".col.d-flex.flex-column.item.iphone-click.status3 .item-footer div");
var TimeCards = Array(HwTime.length).fill(0)
var HwCard = document.querySelectorAll(".col.d-flex.flex-column.item.iphone-click.status3");
let today = new Date();
let tomorrow = new Date(today);
tomorrow.setDate(today.getDate() + 1);
let formattedDate = (Number(String(tomorrow.getDate()).padStart(2, '0'))+`.`+String(tomorrow.getMonth() + 1).padStart(2, '0')+`.`+tomorrow.getFullYear()).replaceAll("0",'');
for (var i=0; i < HwTime.length; i++){
TimeCards[i] = (HwTime[i].textContent.replaceAll(" ","").replaceAll("Срок","").replaceAll("0",""))
if (TimeCards[i] === currentDate) {HwCard[i].style.border="solid 3px red"; HwCard[i].id="ShowBurningHWCommand";}
if (TimeCards[i] === formattedDate) {HwCard[i].style.border="solid 3px orange"; HwCard[i].id="ShowBurningHWCommand";}
}
} else if (document.getElementById("ShowBurningHWCommand") !== null) {
document.getElementById("ShowBurningHWCommand").style.border=(`solid 2px `+Accent1);
document.getElementById("ShowBurningHWCommand").removeAttribute("id")
}
styleElement.textContent=InnerHW;
}
}catch(e){console.log(e)}
}
window.NewPredictions = function(LeaderType) {
var MainDiv = document.createElement('div');
MainDiv.id = "PredictionParent";
let FinalInner = `
<style>
.ClosePred {right: 0px;margin: 5px;position: absolute;top: 0px;background: `+Accent2+`;color: wheat;width: fit-content;border-radius: 10px !important;cursor: pointer;}
div#PredictionParent {position: fixed; width: 100%; height: 100%;top: 0px;z-index: 9000;background: #22222290;}
div#PredictionDiv {position: fixed;top: 50%; left: 50%; transform: translate(-50%,-50%); width: fit-content; max-width:80%; height: fit-content; max-height: 95%; background: `+Accent3+`; padding: 20px; border-radius: 15px;}
.FutureCoinPred{color: white; background: `+Accent0+`; padding: 3px; border-radius: 5px; height: min-content}
.FutureCoinPredText {color: white;background: `+Accent3+`;padding: 2px;border-radius: 3px;margin-left: 3px;width: 84%;position: relative;top: 1px;}
div#ContentStudID{max-height: 350px; overflow: auto; max-width: 100%; background: transparent}
.TendenceSpan1 {top: 3px; position: relative; background: #00860a; height: fit-content; border-radius: 100px; margin-right: 3px; left: 3px}
.TendenceSpan0 {top: 3px; position: relative; background: #aa6100; height: fit-content; border-radius: 100px; margin-right: 3px; left: 3px}
.TendenceSpan_1 {top: 3px; position: relative; background: #740000; height: fit-content; border-radius: 100px; margin-right: 3px; left: 3px}
input#PredictionBarPart{outline-border: none;}
</style>
<div id="PredictionDiv">
<h4>Расчёт баллов наперёд</h4>
`
FinalInner+=`
<div>
<label for="volume" style="color: white">1</label>
<input id="PredictionBarPart" type="range" step="1" value="1" id="PredictionBar" min="1" max="100" />
<label id="PredictionTextHelp"for="volume" style="color: white">100. Расчёт на 1 сутки вперёд.</label>
</div>
<button class="ClosePred" onClick="document.getElementById('PredictionParent').remove()"> Закрыть </button>
<div id="ContentStudID"/>
</div>`;
MainDiv.innerHTML = FinalInner
document.querySelector("body").after(MainDiv)
}
function ReworkedMainPage(){
if (document.getElementById("MainPageCss") === null){
var styleTag = document.createElement('style');
styleTag.id = 'MainPageCss';
styleTag.appendChild(document.createTextNode(``));
var header = document.body;
header.appendChild(styleTag);
} else if (Ticks % 5 === 0){
var styleElement = document.getElementById("MainPageCss");
styleElement.textContent=``;//
if (document.querySelectorAll(".col-md-4.block-item.end-line-block").length > 0){
document.querySelectorAll(".col-md-4.block-item.end-line-block")[0].style.display="none"
}
if (document.querySelectorAll(".header-title-block") !== null && document.getElementById("HomeWorkProgress") === null){
var styleTag0 = document.createElement('div');
styleTag0.id = 'HomeWorkProgress';
styleTag0.className='block-item inner';
styleTag0.style="width: 100%; position: relative; left: 12px; margin-right: 24px;";
var dynamicStyleCss0 = document.createTextNode(``);
styleTag0.appendChild(dynamicStyleCss0);
styleTag0.innerHTML=`
<div class="block-item" style="width: 100% !important; margin-top: 15px; margin-bottom: 10px;">
<h5 style="border-bottom: 1px solid #e5ebf2; padding-bottom: 15px;"><b><font color="white">Статистика домашнего задания:</b></h5>
<div class="bar">
<div class="OpenedHW">
<p id="OpenedHWID" style="color: black; margin-top: -7px;"></p>
</div>
<div class="Checking">
<p id="CheckingID" style="color: black; margin-top: -7px;"></p>
</div>
<div class="Outdated">
<p id="OutdatedID" style="color: black; margin-top: -7px;"></p>
</div>
<div class="CheckedHWs">
<p id="CheckedHWsID" style="color: black; margin-top: -7px;"></p>
</div>
</div>
<h7 id="HomeworkContentID"></h7>
</div>
`;
var header0 = document.querySelectorAll(".col-md-4.block-item.end-line-block")[0];
if (header0 !== null){
header0.parentNode.insertBefore(styleTag0, header0);
}
}
window.SwitchLeaderScript = function (type) {
if (type==1){
document.getElementById("CustomLeaderTable1").style.display="none";
document.getElementById("CustomLeaderTable2").style.display="block";
} else {
document.getElementById("CustomLeaderTable1").style.display="block";
document.getElementById("CustomLeaderTable2").style.display="none";
}
};
if (document.querySelectorAll(".header-title-block") !== null && document.getElementById("CustomLeaderTable1") === null && Leader1Info !== null && Leader1Info.length !== 0){
try{
const AllInOneDiv = document.createElement('div');
AllInOneDiv.id="AllInOneDiv";
AllInOneDiv.style="width: 100%; display: flex";
const styleTag0 = document.createElement('div');
styleTag0.id = 'CustomLeaderTable1';
styleTag0.style="width: 100%; position: relative; height: fit-content; padding-right: 10px; max-height: 512px; overflow: auto";
const dynamicStyleCss0 = document.createTextNode('');
styleTag0.appendChild(dynamicStyleCss0);
var InnerText=`
<div class="block-item" id=CustomLeaderTable1Style" style="width: 100%; margin-bottom: 10px;">
<h5 style="border-bottom: 1px solid #e5ebf2; padding-bottom: 5px;padding-top: 5px;position: sticky;top: 0px;color:white;z-index: 3; color: white"><b>Таблица лидеров <span class="LeaderSwitch" onClick="SwitchLeaderScript(1)">группы:<span></b></h5>
`;
var currentDay = new Date().toLocaleDateString('en-GB').replaceAll("/",".");
for (let i = 0; i < Leader1Names.length; i++) {
InnerText=InnerText+`
<div style="position: absolute; width: 100%; left: 0; z-index: 2">
<span style="position: absolute; left: 15px; font-weight:bold">`+(Number(i)+1)+`. `+Leader1Names[i];
if ((Leader1Names[i] === "Ильин Савелий Данилович " || Leader1Names[i] === "Болдин Артемий Антонович") & UserCId === 484 && (Leader1IDS[i] === 2 || Leader1IDS[i] === 38 )){
if (Leader1Names[i] === "Болдин Артемий Антонович") {
InnerText=InnerText+`<img title="Спасибо господь, что я такой офигенный. Как-же вам повезло жить со мной в одно время" id="Pear" style="width: 20px; height: 20px" src="https://github.com/0mnr0/WallpaperInJournal/blob/main/res/pear.png?raw=true" />
<img title="Бог математики, амбассадор алгебры, великий человек" style="width: 20px; height: 20px; rotate: 60deg" src='https://github.com/0mnr0/WallpaperInJournal/blob/main/res/nimb.png?raw=true'>
`
}
InnerText=InnerText+`
<img title="Разработчик BetterJournal" style="width: 20px; height: 20px" src="https://github.com/0mnr0/WallpaperInJournal/blob/main/res/code_ico.png?raw=true" />`
if (Leader1IDS[i] === 2){
InnerText=InnerText+`<img title="Участник Beta тестов" style="width: 20px; height: 20px" src="https://github.com/0mnr0/WallpaperInJournal/blob/main/res/BetaIco.png?raw=true" />`
}
}
InnerText=InnerText+`</span>`;
InnerText=InnerText+`
<span style="position: absolute; right: 38px; padding-top: 20px; font-weight:bold">`+Leader1Amounts[i]+`</span>
<img alt="top-money" style="position: absolute; right: 17px; padding-top: 22px;" src="/assets/resources/top-money.svg"></div>
<img class="`
if (i==0){InnerText=InnerText+'CustomLeaderPointDiv1'}
else if (i>0 & i<Leader1Names.length-1){InnerText=InnerText+'CustomLeaderPointDiv'}
else {InnerText=InnerText+'CustomLeaderPointDiv2'}
InnerText=InnerText+`
" src="`+Leader1Photo[i]+`";" style="cursor: pointer" onclick=ShowImage('`+Leader1Photo[i]+`') />
`;
}
styleTag0.innerHTML=InnerText;
const header0 = document.querySelectorAll(".col-md-6.block-item .inner")[2];
AllInOneDiv.appendChild(styleTag0);
header0.appendChild(AllInOneDiv);
}catch(e){console.log(e)}
}
//@#$%^&*()(*&^%#&*%*&$(&)$(*)^@#$^@%#*&^@%(*)^@#*%^@&)#%^&%$(!%$&!)@%$)@#$#@*+_%(&*%#!@#@(!*%#(_+@%*(*&@#%(*&@%#$!#@*$()#@(*$_@#&$^#@(*&$^@#*&$^@#*$&@()#*$@(#*$@#($(@)&$^#@()$*@#(+$@)(!*#&$@&#$^@*&#$
if (document.querySelectorAll(".header-title-block") !== null && document.getElementById("CustomLeaderTable2") === null && Leader2Info !== null && document.getElementById("CustomLeaderTable1")!== null && Leader2Info.length !== 0){
try{
const AllInOneDiv = document.getElementById("AllInOneDiv")
const styleTag0 = document.createElement('div');
styleTag0.id = 'CustomLeaderTable2';
styleTag0.style="width: 100%; display: none; position: relative; height: 512px; max-height: 512px; overflow: auto; padding-right: 10px;";
const dynamicStyleCss0 = document.createTextNode('');
styleTag0.appendChild(dynamicStyleCss0);
let InnerText=`
<div class="block-item" id=CustomLeaderTable1Style" style="width: 100%; margin-bottom: 10px;">
<h5 style="border-bottom: 1px solid #e5ebf2;padding-bottom: 5px;padding-top: 5px;position: sticky;top: 0px;color:white;z-index: 3;"><b>Таблица лидеров <span class="LeaderSwitch" onClick="SwitchLeaderScript(2)">потока:<span></b></h5>
`;
for (let i = 0; i < Leader2Names.length; i++) {
if (Leader2IDS[i] !== null){
InnerText=InnerText+`
<div style="position: absolute; width: 100%; left: 0; z-index: 2">
<span style="position: absolute; left: 15px; font-weight:bold">`+Leader2Positions[i]+`. `+Leader2Names[i]
if ((Leader2Names[i] === "Ильин Савелий Данилович " || Leader2Names[i] === "Болдин Артемий Антонович") && (Leader2IDS[i] === 2 || Leader2IDS[i] === 38)){
if (Leader2Names[i] === "Болдин Артемий Антонович") {InnerText=InnerText+`
<img title="Спасибо господь, что я такой офигенный. Как-же вам повезло жить со мной в одно время" id="Pear" style="width: 20px; height: 20px" src="https://github.com/0mnr0/WallpaperInJournal/blob/main/res/pear.png?raw=true" />
<img title="Бог математики, амбассадор алгебры, великий человек" style="width: 20px; height: 20px; rotate: 60deg" src='https://github.com/0mnr0/WallpaperInJournal/blob/main/res/nimb.png?raw=true'>
`
}
InnerText=InnerText+`
<img title="Разработчик BetterJournal" style="width: 20px; height: 20px" src="https://github.com/0mnr0/WallpaperInJournal/blob/main/res/code_ico.png?raw=true" />`
if (Leader2IDS[i] === 2){
InnerText=InnerText+`<img title="Участник Beta тестов" style="width: 20px; height: 20px" src="https://github.com/0mnr0/WallpaperInJournal/blob/main/res/BetaIco.png?raw=true" />`
}
}
InnerText=InnerText+`</span>`;
InnerText=InnerText+`
<span style="padding-top: 20px; position: absolute; right: 35px; font-weight:bold">`+Leader2Amounts[i]+`</span>
<img alt="top-money" style="position: absolute; right: 17px; padding-top: 22px;" src="/assets/resources/top-money.svg"></div>
<img class="`
if (i==0){InnerText=InnerText+'CustomLeaderPointDiv1'}
else if (i>0 & i<Leader2Names.length-1){InnerText=InnerText+'CustomLeaderPointDiv'}
else {InnerText=InnerText+'CustomLeaderPointDiv2'}
InnerText=InnerText+`
" src="`+Leader2Photo[i]+`";" style="cursor: pointer" onclick=ShowImage('`+Leader2Photo[i]+`') />
`;
}
}
styleTag0.innerHTML=InnerText;
const header0 = document.querySelectorAll(".col-md-6.block-item .inner")[2];
header0.appendChild(styleTag0);
header0.appendChild(AllInOneDiv);
const PhotoView = document.createElement('div');
PhotoView.innerHTML=`
<div id="PhotoViewBG" style="background: #282828b5; width: 100%; height: 100%; top: 0; z-index: 899; position: fixed; display: none;" onclick="CloseImageView()">
<div style="padding: 5%;width: 100%;height: 100%; ">
<img id="PhotoViewID" style="max-width: 80%; max-height: 70%; transform: translate(-50%,-50%); left: 50%; top: 50%; position: fixed; height: auto; border-radius: 20px; z-index: 900"/>
<div>
</div>`;
document.querySelector(".table-leaders").style.display="none";
document.querySelector("body").appendChild(PhotoView);
}catch(e){console.log(e)}
}
}
}
function CreateAvgMarks(){
if (PanelSpawned===0 && document.querySelector(".row") !== null){//localStorage.removeItem("BJ(Tests):Len");
PanelSpawned=1;
const colClass = "col-md-12";
const itemClass = "item";
const examDiv = document.createElement("div");
examDiv.classList.add(colClass);
examDiv.classList.add(itemClass);
const contentDiv = document.createElement("div");
contentDiv.setAttribute("id", "AverageMarks");
contentDiv.style.color="white";
contentDiv.classList.add("content-progress");
const headerDiv = document.createElement("div");
headerDiv.classList.add("header");
headerDiv.textContent = "Средние оценки";
headerDiv.style.color="white";
headerDiv.style.marginBottom="4px";
headerDiv.style.width="100%";
headerDiv.style.display="-webkit-inline-box";
headerDiv.style.position="relative";
const noDataDiv = document.createElement("div");
noDataDiv.setAttribute("id", "AM_FI");
noDataDiv.textContent ='Загружаем все оценки...';
contentDiv.appendChild(headerDiv);
contentDiv.appendChild(noDataDiv);
examDiv.appendChild(contentDiv);
const rowDiv = document.querySelector(".row");
rowDiv.appendChild(examDiv);
rowDiv.insertBefore(examDiv, rowDiv.firstChild);
SendPacket("https://msapi.top-academy.ru/api/v2/progress/operations/student-visits", "GET", null, false).then(data => {
if (data != -1 || data != "-1"){
data = JSON.parse(data);
var AllMarksSumm = 0;
var TotalMarks = 0;
var UserStatisticks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
var Subjects = [];
var SubjectsVals=Array(1900).fill(0);
var SubjectsTime=Array(SubjectsVals.length).fill(0);
var Mark12 = 0;
var ForEachVals=0;
var ForEachCount = 0;
function SubjectAvgMark(cont_mark, class_mark, home_mark, lab_mark){
let mark = 0;
var TotalSubjects = 0;
if (cont_mark !== null) {mark+=Number(cont_mark); TotalSubjects++}
if (class_mark !== null) {mark+=Number(class_mark); TotalSubjects++}
if (home_mark !== null) {mark+=Number(home_mark); TotalSubjects++}
if (lab_mark !== null) {mark+=Number(lab_mark); TotalSubjects++}
return [mark, TotalSubjects]
}
let InClassMarks_0 = 0;
let InClassNums_0 = 0;
let InClassMarks_1 = 0;
let InClassNums_1 = 0;
let InClassMarks_2 = 0;
let InClassNums_2 = 0;
let InClassMarks_3 = 0;
let InClassNums_3 = 0;
let StudentActivity = 0;
let AllStudentLessonsCount=0;
data.forEach(item => {
AllStudentLessonsCount++;
if (item.status_was===1){StudentActivity++;}
if (item.control_work_mark !== null && Number(item.class_work_mark !== 0)) {
UserStatisticks[Number(item.control_work_mark) - 1]++;
AllMarksSumm = AllMarksSumm + Number(item.control_work_mark);
TotalMarks++;
}
if (item.class_work_mark !== null && Number( item.class_work_mark !== 0)) {
AllMarksSumm = AllMarksSumm + Number(item.class_work_mark);
TotalMarks++;
UserStatisticks[Number(item.class_work_mark) - 1]++;
}
if (item.home_work_mark !== null && Number(item.home_work_mark !== 0)) {
AllMarksSumm = AllMarksSumm + Number(item.home_work_mark);
TotalMarks++;
UserStatisticks[Number(item.home_work_mark) - 1]++;
}
if (item.lab_work_mark !== null && Number(item.lab_work_mark !== 0)) {
AllMarksSumm = AllMarksSumm + Number(item.lab_work_mark);
TotalMarks++;
UserStatisticks[Number(item.lab_work_mark) - 1]++;
}
});
data.forEach(item => {
var SubjectPlace = Subjects.indexOf(item.spec_name)
if (SubjectPlace === -1){Subjects.push(item.spec_name); SubjectPlace = Subjects.indexOf(item.spec_name);}
else {
var ret = SubjectAvgMark(item.control_work_mark, item.class_work_mark, item.home_work_mark, item.lab_work_mark)
SubjectsVals[SubjectPlace] += ret[0];
SubjectsTime[SubjectPlace] += ret[1];
}
})
var SubjStrings=Array(SubjectsVals.length).fill(0)
for (var i=0; i<Subjects.length; i++){
SubjStrings[i]=(Subjects[i]+": <font class='AccentAvgStats'>"+ ((SubjectsVals[i]/SubjectsTime[i])+'').slice(0,5) + "</font>")
}
SubjStrings.sort()
noDataDiv.textContent ='Загружаем все тесты...';
let ExamsSum = 0
let ExamsNums = 0;
SendPacket("https://msapi.top-academy.ru/api/v2/progress/operations/student-exams", "GET", null, false).then(data => {
data = JSON.parse(data);
let TestLen = 0;
let TestSum = 0;
data.forEach(item => {
if (item.mark !== null && item.mark !== 0){
AllMarksSumm=AllMarksSumm+Number(item.mark);
TotalMarks++;
ExamsSum += Number(item.mark)
ExamsNums++;
TestLen++;
TestSum+=Number(item.mark)
noDataDiv.innerHTML ='Сумма всех оценок: '+AllMarksSumm+", Всего оценок: "+TotalMarks;
}
})
let MaterialsSumm = 0;
let MaterialsNums = 0;
SendPacket("https://msapi.top-academy.ru/api/v2/library/operations/list?material_type=7&recommended_type=0", "GET", null, false).then(data => {
if (data != -1 || data != "-1"){
data = JSON.parse(data);
data.forEach(item => {
if (item.last_mark !== null && item.last_mark !== 0){
AllMarksSumm=AllMarksSumm+Number(item.last_mark);
TotalMarks++;
MaterialsSumm += Number(item.last_mark)
MaterialsNums++;
if (Number(item.last_mark) === 12) {Mark12++}
noDataDiv.innerHTML ='Сумма всех оценок: '+AllMarksSumm+", Всего оценок: "+TotalMarks;
}
})
const AverageMark=(AllMarksSumm/TotalMarks)
const InClassWork = ((InClassMarks_0/InClassNums_0) + (InClassMarks_1/InClassNums_1) + (InClassMarks_2/InClassNums_2)) / 3
const testAvg = (InClassWork + (ExamsSum/ExamsNums) + (MaterialsSumm/MaterialsNums))/3;
const ColorPallete=['#FF0000','#EB1700','#D82E00','#C44500','#B15C00','#9E7300','#8A8B00','#77A200','#64B900','#50D000','#3DE700','#2AFF00']
var inn =`
<h5 class="AvgMarkDiv">Средняя оценка: <b><font color=`+ColorPallete[Math.round(AverageMark-1)]+`> `+(AverageMark.toPrecision(3))+`</font></b> (`+(AverageMark.toPrecision(6))+`)<br></h5>
<div class="AvgMarkList">
`
for (let i=0; i<12; i++){
inn+=`<span class="AvgStats`;
if (i==11){inn+=" AvgStatsLast";}
inn+=`"> Кол-во оценок <font class="AvgMarkRound" style="background: `+ColorPallete[i]+`60"> "`+(i+1)+`"</font>: `+UserStatisticks[i]+`</span><br>`
}
inn+=`
</div>
<div class="AvgMarkList">
<span class="PointSubject"> Средняя оценка предметов </span>
`;
for (let i =0; i<SubjStrings.length; i++){
if (Number(SubjStrings[i]) !== 0){
inn+=`<span class="AvgStats`;
if (i==SubjStrings.length-1){inn+=" AvgStatsLast";} if(i==0) {inn+=" AvgStatsFirst";}
inn+=`">`+SubjStrings[i]+`</span><br>`;
}
}
inn+=`
</div>
`;
inn+='<span class="AvgStats" style="margin-top: 5px"> Средняя посещаеммость: <b>'+(((StudentActivity/AllStudentLessonsCount)*100)+'').slice(0,5)+'%</b></span>'
noDataDiv.innerHTML = inn;
}
})
})
}
})
}
}
function Marks(){
if (document.querySelectorAll("router-outlet").length === 4){
document.querySelectorAll("router-outlet")[3].remove()
}
const FixPadPanel = document.querySelectorAll(".ng-dropdown-panel .ng-dropdown-panel-items .ng-option");
for (const item of FixPadPanel) {
item.style.background=Accent1;
}
const FixMARKSItem = document.querySelectorAll(".circle");
for (const item of FixMARKSItem) {
item.style.color="lightgray";
}
const PadMenu = document.querySelectorAll(".ng-select .ng-select-container");
const LeftPanel = document.querySelectorAll(".left-block-graph");
const RightPanel = document.querySelectorAll(".right-block-graph");
const AllVals = [...PadMenu, ...LeftPanel, ...RightPanel, ...document.querySelectorAll(".no-data"), ...document.querySelectorAll(".lessons"), ...document.querySelectorAll(".date")];
for (const item of AllVals) {
item.style.color="White";
}
for (const element of document.querySelectorAll('.progress-section .item .content-progress .exams-table .body-list:nth-child(2n)')) {
element.style.backgroundColor = 'transparent';
element.style.color = 'white';
}
for (const element of [...document.querySelectorAll('.exams-table'), ...document.querySelectorAll('.spec')]) {
element.style.color = 'wheat'
}
for (const element of document.querySelectorAll('.progress-section .item .content-progress .exams-table .list-head .data .info .info-content, .progress-section .item .content-progress .exams-table .body-list .data .info .info-contents')){
element.style.background=Accent2;
element.style.borderRadius="20px";
}
for (const element of document.querySelectorAll('.tooltip, .tooltip-achieve')) {
element.style.background = Accent_MainBg;
element.style.borderRadius="10px";
}
for (const element of document.querySelectorAll('.tooltip-inner')) {
element.style.background = 'transparent';
}
const konrab=document.querySelectorAll('.progress-section .item .main-block .block-day .all-less .lessons .kr');
for (const element of konrab) {
element.style.borderRadius="10px";
element.style.background = '#4a7250';
}
const elements = document.querySelectorAll('.progress-section .item .content-progress .select .ng-select .ng-select-container .ng-value-container');
for (const element of elements) {
element.style.backgroundColor = Accent1;
element.style.Color='white';
}
const FixSomeContent=document.querySelectorAll('.progress-section .item .content-progress .description .circle');
for (const element of FixSomeContent) {
element.style.Color='white';
}
const ComeInTime = document.querySelectorAll('.progress-section .item .main-block .block-day .all-less .lessons');
for (const element of ComeInTime) {
element.style.borderRadius="10px";
element.style.backgroundColor = '#535353';
}
const Late = document.querySelectorAll('.progress-section .item .main-block .block-day .all-less .pass');
for (const element of Late ) {
element.style.borderRadius="10px";
element.style.backgroundColor = '#48273a';
}
const Lates = document.querySelectorAll('.progress-section .item .main-block .block-day .all-less .lateness');
for (const element of Lates) {
element.style.border = '2px solid yellow';
}
try{CreateAvgMarks();}catch(e){if (Number(localStorage.getItem("BJ:Debug"))===1) {console.log(e)} else {console.log("Failed To Execute CreateAvgMarks function:",e)}}
var TestsVal = 0;
if (Number(localStorage.getItem("BJ(Tests):Len"))!==0){
TestsVal = Number(localStorage.getItem("BJ(Tests):Sum") / Number(localStorage.getItem("BJ(Tests):Len")));
}
}
function Materials(){
const MaterialCard = [...document.querySelectorAll('.sections-lessons .lessons-block'), ...document.querySelectorAll('.section-libs .books-block'), ...document.querySelectorAll('.section-video .video-block'),
...document.querySelectorAll('.section-article .article-block'),...document.querySelectorAll('.sections-lessons .lessons-block .lesson-info .full-lesson-info'),
...document.querySelectorAll('.section-article .article-block .text-article .article-description:hover .all-description'),
...document.querySelectorAll('.sections-lessons .lessons-block .lesson-title .full-lesson-theme')
];
for (const element of MaterialCard) {
element.style.color="white";
element.style.borderRadius = '20px';
element.style.background = Accent2;
element.style.boxShadow = '0px 2px 15px #000000';
}
const MaterialCardFix_LastElements = [...document.querySelectorAll('.section-work .work-block .item-header'), ...document.querySelectorAll('.section-tests .test-block-index .header'),
...document.querySelectorAll('.section-work .work-block .item-footer'),
...document.querySelectorAll('.section-work .work-block .cover-block'),
...document.querySelectorAll('.section-tests .test-block-index .test-block-footer')
];
for (const element of MaterialCardFix_LastElements) {
element.style.color="white";
//element.style.borderRadius = '20px';
element.style.background = Accent2;
element.style.boxShadow = '0px 2px 15px #000000';
}
const MaterialCardRound = [...document.querySelectorAll(".sections-lessons .lessons-block .lessons-cover .has-image"), ...document.querySelectorAll('.sections-lessons .lessons-block')];
MaterialCardRound.forEach((element) => {
element.style.borderRadius = "15px";
});
const LeftButtonPanel = document.querySelectorAll(".materials-section .libs-nav ul li");
for (const element of LeftButtonPanel) {
element.style.background=Accent2;
element.style.color="white";
element.style.borderRadius = "20px";
}
if (document.querySelector(".modal-content")!==null) {
document.querySelector(".modal-content").style.background=Accent3
document.querySelector(".modal-content").style.borderRadius="20px";
};
const Divs = document.querySelectorAll(".materials-section .libs-nav ul li a");
for (const element of Divs) {
element.style.color="#d3edd7";
}//
const PadMenu = document.querySelectorAll(".title-group .form-group .ng-select .ng-dropdown-panel .scroll-host .ng-option");
for (const element of PadMenu) {
element.style.background="#111111";
}
const FixHints_Page5 = document.querySelectorAll(".section-work .work-block .item-header .info .info-content");
for (const element of FixHints_Page5) {
element.style.background="#101010cf";
}
const PadMenuRePaint = document.querySelectorAll(".title-group .form-group .ng-select .ng-select-container .ng-value-container");
for (const element of PadMenuRePaint) {
element.style.color="white";
element.style.background=Accent3;
}
const PadMenuActive = document.querySelectorAll(".title-group .form-group .ng-select .ng-dropdown-panel .scroll-host .ng-option:hover");
for (const element of PadMenuActive) {
element.style.background=Accent0;
}
const AllVals = [...(document.querySelectorAll(".test-block-index"))];
const AllNums=[...(document.querySelectorAll(".section-tests .test-block-index .proxy .count-checked"))];
localStorage.setItem("BJ(Tests):Len", AllVals.length);
let summ=0;
const AllHints = [...(document.querySelectorAll(".section-tests .test-block-index .header .info-content"))];
for (const element of AllHints) {element.style.background="#0e0e0ef5";}
const TestPressed = document.querySelectorAll(".popup-test");
for (const element of TestPressed) {element.style.background='transparent'; element.style.color="white";}
if (AllVals.length!==0){
AllNums.forEach((Pane) => {
summ=summ+Number(Pane.textContent)
});
}
localStorage.setItem("BJ(Tests):Sum", summ);
}
function MainFloat(){
const Hints2 = document.querySelectorAll(".navbar");
const secondElement = Hints2[1];
secondElement.style.borderRadius = "40px";
const PosFt = document.querySelectorAll(".pos-f-t");
for (const Ipos of PosFt){
Ipos.style.background = Accent_MainBg;
Ipos.style.paddingTop = "30px";
Ipos.style.paddingLeft = "35px";
Ipos.style.paddingRight = "35px";
}
}
function NewsPage(){
const Lists = document.querySelectorAll(".news-section .item .news-container");
for (const item of Lists){
item.style.background=Accent2;
item.style.color="white";
}
const NewsPaper = document.querySelectorAll(".big-news-container");
for (const item of NewsPaper){
item.style.background=Accent2;
item.style.borderRadius="20px";
}
const FixBCont = [...document.querySelectorAll("b"), ...document.querySelectorAll("div")];
for (const item of FixBCont){
item.style.color="white";
}
const Modals = document.querySelectorAll(".modal-content");
for (const item of Modals){
item.style.background="transparent";
item.style.border="none";
}
}
function Awards(){
const Lists = document.querySelectorAll(".awards-section .item .content-awards");
for (const item of Lists){
item.style.backgroundColor=Accent2;
item.style.borderRadius="20px";
item.style.color="white";
}
const FixUnRounded = document.querySelectorAll(".row");
for (const item of FixUnRounded){
item.style.marginLeft= '0px';
}
const HowToGetIt = document.querySelectorAll(".description-of-awards");
for (const item of HowToGetIt){
item.style.background=Accent3;
item.style.color="white";
item.style.height="100%";
item.style.borderRadius="30px";
}
}
function FeedBack(){
const TopPane = document.querySelectorAll(".feedback-col.grey-border");
TopPane.forEach((Pane) => {
Pane.style.backgroundColor = Accent2;
Pane.style.borderradius="15px";
});
const AllTexts = document.querySelectorAll(".div");
TopPane.forEach((Pane) => {
Pane.style.color = "white";
});
const DescriptionOfAwards = document.querySelectorAll(".feedback-section[_ngcontent-c6] .item[_ngcontent-c6] .feedback-col[_ngcontent-c6]");
for (const item of DescriptionOfAwards){item.style.borderRadius="40px";}
}
function Payment(){//
const FirstElement = document.querySelectorAll(".payment-section .item .payment-item");
for (const item of FirstElement){
item.style.background = Accent2;
item.style.borderRadius = "25px";
}
const FixThisUglyButton = document.querySelectorAll(".button-check");
for (const item of FixThisUglyButton) {
item.style.width="100%";
}
const SecondFixThisUglyButton = document.querySelectorAll(".payment-section .item .payment-item .button-check a");
for (const item of SecondFixThisUglyButton) {
item.style.width="100%";
item.style.borderRadius="10px";
}
const AllDivs = [...document.querySelectorAll(".title"), ...document.querySelectorAll(".table-row")];
for (const item of AllDivs) {
item.style.color="wheat";
}
const AllSpans = document.querySelectorAll("span");
for (const item of AllSpans) {
item.style.color="white";
}
}
function Cabinet(){
const WhiteElement=document.querySelectorAll('.item.profile-block');
for (const item of WhiteElement){
item.style.background = 'transparent';
}
const AllItems = [...document.querySelectorAll(".item.progress-block"),...document.querySelectorAll('.item.profile-achieve.no-refs'),...document.querySelectorAll('.span'),
...document.querySelectorAll('.profile-block[_ngcontent-c7] .conteiner-profile[_ngcontent-c7] .form[_ngcontent-c7] form[_ngcontent-c7] .form-block[_ngcontent-c7] .form-group[_ngcontent-c7] .form-control[_ngcontent-c7]')];
for (const item of AllItems){
item.style.color="white";
item.style.background = Accent1;
item.style.borderRadius="30px";
}
const ProfImage = document.querySelectorAll(".profile-img");
for (const item of ProfImage){
item.style.background = "#ffffff0f";
}
const VlsInputs = document.querySelectorAll("textarea.form-control.address.ng-pristine.ng-valid.ng-touched");
for (const item of VlsInputs){
item.style.background = Accent3;
item.style.color="white";
}
const TextAreas = [...document.querySelectorAll("input.form-control.fio.ng-untouched.ng-pristine"),...document.querySelectorAll(".profile-block[_ngcontent-c6] .conteiner-profile[_ngcontent-c6] .form[_ngcontent-c6] form[_ngcontent-c6] .form-block[_ngcontent-c6] .form-group[_ngcontent-c6] .form-control[_ngcontent-c6]")];
for (const item of TextAreas){
item.style.color="white";
item.style.backgroundColor = Accent3;
}
try{
const Hint = document.querySelectorAll(".photo-requirments-info-content");
for (const item of Hint){
item.style.color="white";
item.style.backgroundColor = Accent1+"d9";
item.style.borderRadius="15px";
}
}catch(e){}
try{
const ChangePassWordPanel = document.querySelectorAll(".item[_ngcontent-c6]");
for (const item of ChangePassWordPanel){
item.style.color="white";
item.style.backgroundColor = Accent2;
}
const NewPasswords = [...document.querySelectorAll("input#oldPassword"), ...document.querySelectorAll("input#newPassword"), ...document.querySelectorAll("input#repeatNewPassword")];
for (const item of NewPasswords){
item.style.color="white";
item.style.backgroundColor = "#353535";
}
} catch(e){}
}
function FAQ(){
const Cards = document.querySelectorAll(".faq-section .item .faq-item");
for (const item of Cards){
item.style.color="white";
item.style.backgroundColor = 'transparent';
}
const CardsFix = document.querySelectorAll(".faq-section .panel-group .panel-default .card-header");
for (const item of CardsFix){
item.style.color="white";
item.style.backgroundColor = Accent0;
}
const MakeShadows = document.querySelectorAll(".faq-section .panel-group .panel .card");
for (const item of MakeShadows){
item.style.background='transparent';
item.style.boxShadow="0px 0px 15px rgb(6 6 6 / 64%)";
}
const Awnsers = document.querySelectorAll(".faq-section .panel-group .panel-default .panel-collapse .panel-body");
for (const item of Awnsers){
item.style.background=Accent0;
}
}
function Market(){
const ProductItems = document.querySelectorAll(".shop-section .item .product-block");
for (const item of ProductItems){
item.style.background=Accent2;
item.style.color="wheat";
item.style.borderRadius="20px";
}
const ProductItemsHover = document.querySelectorAll(".shop-section .item .product-block .product-img .on-hover");
for (const item of ProductItemsHover){
item.style.backgroundColor="rgb(255 255 255 / 0%)";
item.style.border="3px solid rgb(196 196 196 / 35%)"
item.style.borderStartStartRadius="20px";
item.style.borderStartEndRadius="20px";
}
const Spans = document.querySelectorAll(".span");
for (const item of Spans){
item.style.color="wheat";
}
const LockedButton = document.querySelectorAll("button");
for (const item of LockedButton) {
item.removeAttribute('disabled');
}
const ShopItems = document.querySelectorAll(".modal-basket .basket");
ShopItems.forEach((Pane) => {
Pane.style.backgroundColor=Accent2;
Pane.style.borderRadius="25px";
Pane.style.color="white";
});
const ModCont = document.querySelectorAll(".modal-content");
for (const item of ModCont) {
item.style.height = "0px";
item.style.padding = "0px 0";
}
const ItemsList = document.querySelectorAll(".modal-basket .basket .product");
ItemsList.forEach((Pane) => {
Pane.style.borderRadius="20px";
Pane.style.backgroundColor=Accent1;
Pane.style.color="white";
});
const Purshs = document.querySelectorAll(".my-purchases");
Purshs.forEach((Pane) => {
Pane.style.borderRadius="20px";
Pane.style.backgroundColor=Accent1;
Pane.style.color="white";
});
const PurshsList = document.querySelectorAll(".my-purchases .accordion .header-accordion");
PurshsList.forEach((Pane) => {
Pane.style.borderRadius="20px";
Pane.style.backgroundColor=Accent2;
Pane.style.color="white";
});
//
const MakeButtonsBlack = document.querySelectorAll(".modal-basket .basket .product .counter .minus, .modal-basket .basket .product .counter .plus");
for (const item of MakeButtonsBlack) {
item.style.backgroundColor="black";
}
const MakeDescBlack = document.querySelectorAll(".modal-basket .basket .block-all .all-container");
for (const item of MakeDescBlack) {
item.style.borderRadius="15px";
item.style.backgroundColor=Accent1;
}
const BlackInput = document.querySelectorAll(".modal-basket .basket .comment .comment-field textarea");
for (const item of BlackInput) {
item.style.color="white";
item.style.backgroundColor=Accent1;
}
const DisabledButton = document.querySelectorAll(".shop-section .item .not-available .item-footer button");
for (const item of DisabledButton) {
item.style.backgroundColor="#4D4542";
}
const ProdBlock = document.querySelectorAll(".modal-product .product-block");
for (const item of ProdBlock) {
item.style.color="white";
item.style.backgroundColor=Accent2;
item.style.borderRadius="20px";
}
const Spans2 = document.querySelectorAll("span");
for (const item of Spans2) {
item.style.color="white";
}
}
function AdministrationPage(){
const Blocks = document.querySelectorAll(".contacts-section .item .contacts-block");
for (const item of Blocks){
item.style.color="white";
item.style.borderRadius="30px";
item.style.background=Accent2;
}
}
function SpawnUnAvaiable(){
var li = document.querySelector(".vacancy-item");
li.innerHTML = "<a href=\"/ru/main/vacancy/page\"><span class=\"side-text\" id=\"vacancy\" style=\"color: white;\">Вакансии</span></a>";
var li2 = document.querySelector(".meal-item");
li2.innerHTML = "<a href=\"/ru/main/meal/page\"><span class=\"side-text\" id=\"meal\" style=\"color: white;\">Питание</span></a>";
var li3 = document.querySelector(".food-pay-item");
li3.innerHTML = "<a href=\"/ru/main/food-pay/page\"><span class=\"side-text\" id=\"food-pay\" style=\"color: white;\">Оплата питния</span></a>";
}
function LiteBar(){
if (document.getElementById("LiteBarId") === null){
var Add='';
if (localStorage.getItem("BJ.DefStyle") === "0"){Add='a4';}
var styleTag = document.createElement('style');
styleTag.id = 'LiteBarId';
var dynamicStyleCss = document.createTextNode(`
.overlay {display: none;}
.sidebar-parent-block .sidebar ul.sidebar-nav li:hover {background: transparent}
.sidebar-parent-block .sidebar{transition: all 0.5s;}
.sidebar-parent-block .sidebar.active ul.sidebar-nav {margin: 0; padding: 0 20px; margin-top: 13px}
.sidebar-parent-block .sidebar .sidebar-content, .sidebar-parent-block .sidebar.active .sidebar-content{background:`+Accent_MainBg+Add+`;}
.sidebar-parent-block .sidebar .sidebar-content, .sidebar-parent-block .sidebar.active .sidebar-content::-webkit-scrollbar-thumb { background-color: transparent !important; }
.sidebar-parent-block .sidebar .sidebar-content, .sidebar-parent-block .sidebar.active .sidebar-content::-webkit-scrollbar-track {background-color: transparent !important;}
`);
styleTag.appendChild(dynamicStyleCss);
var header = document.getElementsByTagName('body')[0];
header.appendChild(styleTag);
} else {
var Add2='';
if (localStorage.getItem("BJ.LiteBar") === "1") {
Add2 = `.sidebar-parent-block .sidebar .sidebar-content, .sidebar-parent-block .sidebar.active .sidebar-content, .wrap .sidebar-parent-top-block .sidebar .sidebar-content{background:`+Accent_MainBg
}
if (localStorage.getItem("BJ.TransparentPanel") !== null) {
Add2 = `.sidebar-parent-block .sidebar .sidebar-content, .sidebar-parent-block .sidebar.active .sidebar-content, .wrap .sidebar-parent-top-block .sidebar .sidebar-content{background:`+(Accent_MainBg.slice(0,7)+localStorage.getItem("BJ.TransparentPanel"))
}
if (localStorage.getItem("BJ.DefStyle") === "0"){Add2=Add2+'a4';}
if (Add2!==""){Add2=Add2+"}"}
var LiteBarElement = document.getElementById('LiteBarId');
LiteBarElement.textContent=`
.overlay {display: none;}
.sidebar-parent-block .sidebar ul.sidebar-nav li:hover {background: transparent}
.sidebar-parent-block .sidebar{transition: all 0.5s;}
.sidebar-parent-block .sidebar.active ul.sidebar-nav {margin: 0; padding: 0 20px; margin-top: 13px}
.sidebar-parent-block .sidebar .sidebar-content, .sidebar-parent-block .sidebar.active .sidebar-content{background:`+Accent_MainBg+Add+`;}
.sidebar-content { overflow: hidden; }
`+Add2;
}
}
function CoinCssSpawn(){
if (document.getElementById("HintFix") === null){
var styleTag = document.createElement('style');
styleTag.id = 'HintFix';
var dynamicStyleCss = document.createTextNode(`
.counts-tooltip {background: `+Accent_MainBg+` !important;}
.counts-tooltip .tooltip-inner {background: transparent; color: white}`);
styleTag.appendChild(dynamicStyleCss);
var header = document.getElementsByTagName('body')[0];
header.appendChild(styleTag);
} else {
var HintStyle = document.getElementById("HintFix");
if (localStorage.getItem("BJ.LevBar") === "1"){
MainFloat()
HintStyle.textContent=`
.counts-tooltip {display: none;}
.right-block .logout-link {margin-left: 15px; padding-right: 5px}
.justify-content-between .left-block .user-full-name {display: none}
.counts-tooltip .tooltip-inner {display: none;}
.justify-content-between {padding: 0px; width: fit-content; position: fixed; right: 40px; z-index: 4}
.wrapper {padding-top: 0px}
bs-tooltip-container.tooltip.in.tooltip-bottom.bs-tooltip-bottom.bottom.counts-tooltip.star.show, bs-tooltip-container.tooltip.in.tooltip-auto.bs-tooltip-auto.auto.counts-tooltip.show.bottom{display:none};
`;
} else {
HintStyle.textContent=`
.counts-tooltip {background: `+Accent_MainBg+` !important;}
.counts-tooltip .tooltip-inner {background: transparent; color: white}`;
}
}
}
function TransBar(State){
if (State===true){
var styleTag = document.createElement('style');
styleTag.id = 'TransBar';
var dynamicStyleCss = document.createTextNode(`
.sidebar-parent-block .sidebar .sidebar-content {background: transparent}
.sidebar-parent-block .sidebar {background-image: none; border-right: solid 2px `+Accent0+`}
.sidebar-parent-block .sidebar.active .sidebar-content {background: transparent}`);
styleTag.appendChild(dynamicStyleCss);
var header = document.getElementsByTagName('body')[0];
header.appendChild(styleTag);
} else {
var StTag = document.getElementById("TransBar");
if (StTag!==null){
StTag.remove();
}
}
}
function NonImageBar(State){
if (document.getElementById("NonIMGCss") === null && State===true){
var styleTag = document.createElement('style');
styleTag.id = 'NonIMGCss';
var dynamicStyleCss = document.createTextNode(`
.sidebar-parent-block .sidebar, .wrap .sidebar-parent-top-block .sidebar {background-image: none}`);
styleTag.appendChild(dynamicStyleCss);
var header = document.getElementsByTagName('body')[0];
header.appendChild(styleTag);
} else if (State===false) {
if (document.getElementById("NonIMGCss") !== null){
document.getElementById("NonIMGCss").remove();
}
}
}
function MainCssStyle(){
//Flowing_()
if (localStorage.getItem("BJ.CircularMenu") !== null && document.getElementById('FlowingCircularMenu') === null){
let CirclarMenuHTML = document.createElement('div');
CirclarMenuHTML.id='FlowingCircularMenu';
document.body.appendChild(CirclarMenuHTML)
} else if (document.getElementById('FlowingCircularMenu') !== null && document.getElementById('FlowingCss')===null){
let CirclarMenuHTML = document.getElementById('FlowingCircularMenu');
if (document.getElementById('FlowingCss')===null){
var FlowCss=document.createElement('style')
FlowCss.id='FlowingCss'
FlowCss.textContent=`
.menu-toggler:hover + label,
.menu-toggler:hover + label:before,
.menu-toggler:hover + label:after,{
background: white;
}
.menu-toggler:checked + label {
background: transparent;
}
.menu-toggler:checked + label:before,
.menu-toggler:checked + label:after,{
top:0;
width:40px;
transform-origin: 50% 50%;
}
.menu-toggler:checked + label:before {
transform: rotate(45deg) translateY(-15px) translateX(-15px);
}
.menu-toggler:checked + label:after {
transform: rotate(-45deg);
}
.menu-toggler:checked ~ ul .menu-item {
opacity: 1;
}
.menu-item:nth-child(1) {
transform: rotate(0deg) translate(-110px);
}
.menu-item:nth-child(2) {
transform: rotate(60deg) translateX(-110px);
}
.menu-item:nth-child(3) {
transform: rotate(120deg) translateX(-110px);
}
.menu-item:nth-child(4) {
transform: rotate(180deg) translateX(-110px);
}
.menu-item:nth-child(5) {
transform: rotate(240deg) translateX(-110px);
}
.menu-item:nth-child(6) {
transform: rotate(300deg) translateX(-110px);
}
.menu-toggler:checked ~ ul .menu-item a {
pointer-events:auto;
}
.menu-toggler + label {
width: 40px;
height: 5px;
display: block;
z-index: 1;
border-radius: 2.5px;
background: rgba(230, 239, 250, 0.9);
transition: transform 0.5s top 0.5s;
position: absolute;
display: block;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
.menu-toggler + label:before,
.menu-toggler + label:after {
width: 40px;
height: 5px;
display: block;
z-index: 1;
border-radius: 2.5px;
background: rgba(255, 255, 255, 0.7);
transition: transform 0.5s top 0.5s;
content: "";
position: absolute;
display: block;
left: 0;
}
.menu-toggler + label:before {
top: 10px;
}
.menu-toggler + label:after {
top: -10px;
}
.menu-item {
position: absolute;
display: block;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
width: 80px;
height: 80px;
opacity: 1;
transition: 0.5s;
}
.menu-item a {
display: block;
width: inherit;
cursor: pointer;
height: inherit;
line-height: 80px;
color: rgba(255, 255, 255, 0.7);
background: rgba(230, 230, 250, 0.7);
border-radius: 50%;
text-align: center;
text-decoration: none;
font-size: 40px;
pointer-events: none;
transition: 0.2s;
}
.menu-item a:hover {
box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
color: white;
background: rgba(255, 255, 255, 0.3);
font-size: 44.44px
}
.CircularCloseImage {
opacity: 0.8;
width: 60px;
position: absolute;
margin-top: 12px;
top: 50%;
cursor: pointer;
left: 50%;
transform: translate(-50%, -50%);
}
.CircularSecondHint {
display: flex;
position: absolute !important;
rotate: -60deg !important;
padding-top: 110%;
}
.CircularThirdHint {
display: flex;
position: absolute !important;
rotate: -120deg !important;
padding-top: 140%;
padding-left: 32.5%;
}
.CircularThirdHintReverse {
display: flex;
position: absolute !important;
rotate: -240deg !important;
padding-top: 140%;
padding-right: 108%;
}
.CircularFourthHint {
display: flex;
position: absolute !important;
rotate: -180deg !important;
padding-top: 140%;
}
.CircularLastHintReverse {
display: flex;
position: absolute !important;
rotate: -300deg !important;
padding-top: 100%;
}
li.menu-item label center {
width: -webkit-fill-available;
cursor: pointer
}
.menu-item {cursor: pointer}
.menu-item:hover {scale: 1.06}
.menu-item label {width: -webkit-fill-available; cursor: pointer; color: white; position: relative; top: -10px}
#FirstButton {mask: url(/assets/resources/main.svg) no-repeat 50% 50%}
#SecondButton {
mask: url(/assets/resources/calendar.svg) no-repeat 50% 50%;
rotate: -60deg;
left: 2px;
position: absolute;
cursor: pointer;
z-index: 200;
mask-size: 78%
}
#ThirdButton {
mask: url(/assets/resources/line.svg) no-repeat 50% 50%;
rotate: -120deg;
left: 2px;
position: absolute;
cursor: pointer;
z-index: 200;
mask-size: 74%
}
#ThirdButtonR {
mask:url(/assets/resources/pen.svg) no-repeat 50% 50%;
rotate: -240deg;
left: 2px;
position: absolute;
cursor: pointer;
z-index: 200;
mask-size: 70%
}
#FourthButton {
mask: url(/assets/resources/tasks.svg) no-repeat 50% 50%;
rotate: -180deg;
left: 2px;
position: absolute;
cursor: pointer;
z-index: 200;
mask-size: 80%
}
#LastButton {
mask: url(/assets/resources/shopping.svg) no-repeat 50% 50%;
rotate: -300deg;
left: 2px;
position: absolute;
cursor: pointer;
z-index: 200;
mask-size: 70%
}
.CurrentCountOfHW {
position: fixed;
width: 25px;
height: 25px;
text-align: center;
rotate: 180deg;
left: 0px;
bottom: 0px;
border-radius: 200px;
scale: 0.9;
display: none;
background: `+Accent3+`;
z-index: 90;
border: solid 2px `+Accent0+`;
}
.CurrentCountOfFeedBack {
position: absolute;
bottom: -20px;
left: 30px;
width: 25px;
height: 25px;
text-align: center;
rotate: 120deg;
border-radius: 200px;
scale: 0.9;
display: none;
background: #101010;
z-index: 90;
border: solid 2px #3b3b3b;
}
#WhatsWithUpdate {position: absolute; right: 0px; padding: 2px; cursor: pointer; bottom: 0px; outline: none; opacity: 0.5; margin: 5px}
div#FlowingCircularMenu {position: fixed; top: 50%; left: 50%; width: 100%; height: 100%; z-index: 90030; transform: translate(-50%, -50%); display: none;}
#CircularClose{position: relative; height: 10%; transform: translate(-50%, -50%); display: block; top: 50%; left: 50%; border-radius: 2000px;)
`
document.body.appendChild(FlowCss)
}
window.TildaKeyPress = function() {
if (localStorage.getItem('BJ.CircularMenu') !== null){
try{
if (document.getElementById('FlowingCircularMenu').style.display !== 'block'){
let FreeSideBar = document.createElement('style')
FreeSideBar.id='FreeSideBarCircular'
if (localStorage.getItem('BJ.CircularMenuShowOriginalbar') !==null){
FreeSideBar.textContent = `
.sidebar-parent-block {display: block !important; z-index: 90031; position: absolute; opacity: 0.75;}
.sidebar-parent-block .sidebar .sidebar-content, .sidebar-parent-block .sidebar.active .sidebar-content, .wrap .sidebar-parent-top-block .sidebar .sidebar-content {background: transparent !important}
`;
}
document.body.after(FreeSideBar)
if (document.querySelector('li.homeworks-item a span.badge-counter') !== null){
document.getElementById('CurrentCountOfHW').style.display = 'block'
document.getElementById('CurrentCountOfHW').textContent = document.querySelector('li.homeworks-item a span.badge-counter').textContent
}
document.getElementById('FlowingCircularMenu').style.background = Accent3
document.getElementById('FlowingCircularMenu').style.display = 'block'
if (document.querySelector('.feedback-item a span.badge-counter') !== null && document.querySelector('.feedback-item a span.badge-counter').textContent !== '') {
document.getElementById('CurrentCountOfFeedBack').textContent = document.querySelector('.feedback-item a span.badge-counter').textContent
document.getElementById('CurrentCountOfFeedBack').style.display = 'block'
} else {document.getElementById('CurrentCountOfFeedBack').style.display = 'none'}
} else {
window.CloseCircularMenu()
document.getElementById('CurrentCountOfFeedBack').style.display = 'none';
}}catch(ee){console.error(ee)}
}
}
window.CloseCircularMenu = function(){
document.getElementById('FlowingCircularMenu').style.display = 'none'
while (document.getElementById('FreeSideBarCircular') !== null){
document.getElementById('FreeSideBarCircular').remove()
}
}
CirclarMenuHTML.innerHTML=`
<nav class="menu" id="FlowingMenu">
<img src="https://github.com/0mnr0/WallpaperInJournal/blob/main/res/close_circular.png?raw=true" class="CircularCloseImage" onclick="CloseCircularMenu()">
<ul>
<li class="menu-item" onClick="document.querySelector('li.main-item a').click(); CloseCircularMenu()">
<a class="fas fa-cat" id="FirstButton"></a>
<label><center>Главная</center></label>
</li>
<li class="menu-item" onClick="document.querySelector('li.schedule-item a').click(); CloseCircularMenu()">
<a id='SecondButton'></a>
<label class="CircularSecondHint"><center>Расписание</center></label>
</li>
<li class="menu-item" onClick="document.querySelector('li.progress-item a').click(); CloseCircularMenu()">
<a id='ThirdButton'></a>
<label class="CircularThirdHint"><center>Оценки</center></label>
</li>
<li class="menu-item" onClick="document.querySelector('li.homeworks-item a').click(); CloseCircularMenu()">
<span id='CurrentCountOfHW' class='CurrentCountOfHW'></span>
<a id='FourthButton'></a>
<label class="CircularFourthHint"><center>Домашка</center></label>
</li>
<li class="menu-item" onClick="document.querySelector('li.feedback-item a').click(); CloseCircularMenu()">
<span id='CurrentCountOfFeedBack' class='CurrentCountOfFeedBack'></span>
<a id='ThirdButtonR'></a>
<label class="CircularThirdHintReverse"><center>Отзывы</center></label>
</li>
<li class="menu-item" onClick="document.querySelector('.shop-nav-link a').click(); CloseCircularMenu()">
<a id="LastButton"></a>
<label class="CircularLastHintReverse"><center>Магазин</center></label>
</li>
</ul>
</nav>
`;
}
if (document.querySelector("nav.navbar.navbar-expand-lg.justify-content-between") !== null && document.getElementById("MainBetterJournalCss") === null){
var styleTag = document.createElement('style');
styleTag.id = 'MainBetterJournalCss';
var dynamicStyleCss = document.createTextNode('');
styleTag.appendChild(dynamicStyleCss);
var header = document.getElementsByTagName('body')[0];
header.appendChild(styleTag);
} else{
if (document.getElementById("MainBetterJournalCss") !== null){
var Style=document.getElementById("MainBetterJournalCss");
const Content=`
html {background: `+Accent3.slice(0,7)+`;}
nav.navbar.navbar-expand-lg.justify-content-between {transition: all 0.3s}
.homepage-wrapper .inner, button#SaveButtonInSettings {transition: all 0.5s}
button#SaveButtonInSettings {background: `+Accent_MainBg+`}
.app-tags-input-item {transition: all .5s}
.app-tags-input-item:hover {scale: 1.1}
.app-tags-input-item:active {scale: 1.2}
.rating-star {transition: all .5s}
.rating-star:hover {scale: 1.06}
.rating-star:active {scale: 1.12}
body{background: black}
.my-8.bg-gradient-gray {background: black}
.modal-content .comment-block .comment-block-textarea, .modal-content .on-hover {outline: none; border: solid 2px `+Accent1+`; background: transparent; border: none !important}
.modal-content .comment-block .comment-block-textarea, .modal-content {color:white; background: `+Accent2+` !important; border-radius: 20px; transition: all .3s}
.modal-content .confirm-evaluation .btn-default {background: `+Accent3+`; color: white; transition: all .5s; outline: none}
.modal-content h3:after {display: none}
.modal-content .confirm-evaluation .btn-default:hover {background: `+Accent1.slice(0,7)+`; scale:1.02}
.modal-content .confirm-evaluation .btn-default:active {background: `+Accent0.slice(0,7)+`; scale:1.04}
.modal-content .bonus-text .crystal-bonus:after {top: 0px; height: -webkit-fill-available;}
.app-tags-input-item {background: `+Accent3+` !important}
.app-tags-input-item.active {background: `+Accent0.slice(0,7)+` !important}
.modal-content .rating-block {background: transparent}
.rating-star svg polygon.filled {fill: #ebb422;}
.rating-star svg polygon {transition: all .4s}
h3, h4, .modal-content .eval-counter, .modal-content .eval-details, .modal-content .eval-details, .modal-content .comment-block {color:white}
p {color: white}
`;
try{
if (document.querySelector("a.fio-stud") !== null && localStorage.getItem("BJ."+document.querySelector("a.fio-stud").textContent+"AVTLink")!==null && document.querySelectorAll(".avatar").length === 2){
const Avatar = document.querySelectorAll(".avatar")[1];
if (OriginalAvatar===null){OriginalAvatar=Avatar.src};
Avatar.name="Modded";
if (Avatar.src !== localStorage.getItem("BJ."+document.querySelector("a.fio-stud").textContent+"AVTLink")){
Avatar.src = localStorage.getItem("BJ."+document.querySelector("a.fio-stud").textContent+"AVTLink");
}
} else if (document.querySelector("a.fio-stud")!== null && localStorage.getItem("BJ."+document.querySelector("a.fio-stud").textContent+"AVTLink")===null && OriginalAvatar!==null){
const Avt = document.querySelectorAll(".avatar")[1];
Avt.src=OriginalAvatar;
OriginalAvatar=null;
}
}catch(e){console.error(e)}
Style.textContent=Content;
}
}
}
function LevBar(){
var NavBar = document.querySelectorAll("nav.navbar.navbar-expand-lg.justify-content-between")[1];
var CssCode=`
.justify-content-between{ padding: 0px; }
.justify-content-between .left-block .user-full-name {display: none;}
bs-tooltip-container.tooltip.in.tooltip-auto.bs-tooltip-auto.auto.counts-tooltip.show{display: none; }
nav.navbar.navbar-expand-lg.justify-content-between {position: fixed; z-index: 900; right: 25px; top:25px; border-radius:40px }
.right-block .logout-link{margin-right: 10px}
.dropup, .dropright, .dropdown, .dropleft {dispay: none;}
nav#LevitationBar:hover {background: `+Accent2+` !important}
span.dropdown.dropdown-langs {display: none;}
.right-block .align-self-end .img-logout-block{margin-left: 10px;}
.wrap-counts{padding: 0 0px; transition: all .5s}
.avatar {transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}
.avatar:hover {scale: 1.15}
.avatar:active {scale: 1.2}
span#all-pricess{margin-left: 5px}
.pos-f-t{display:none;}
.justify-content-between .wrap-counts .count-item, span#all-pricess{cursor: default}
`;
if (window.location.href === "https://journal.top-academy.ru/ru/main/market/page/index" || window.location.href.includes("https://journal.top-academy.ru/ru/main/library/page/index")){
CssCode=CssCode+'nav.navbar.navbar-expand-lg.justify-content-between {top:65px;}'
}
let Avt = document.querySelectorAll(".avatar")[1];
Avt.setAttribute('onClick','ShowImage(this.src)')
if (localStorage.getItem("BJ.LevBar") === "1" && document.getElementById("LevitationBar") === null){
NavBar.id='LevitationBar';
NavBar.style.transition="all .3s"
const wrapper = document.querySelectorAll(".wrapper")[0];
wrapper.parentNode.insertBefore(NavBar, wrapper);
var styleTag = document.createElement('style');
styleTag.id = 'LevitationBarCss';
var dynamicStyleCss = document.createTextNode(CssCode);
styleTag.appendChild(dynamicStyleCss);
var header = document.getElementsByTagName('body')[0];
header.appendChild(styleTag);
} else {
if (document.getElementById("LevitationBarCss") !== null && localStorage.getItem("BJ.LevBar") === null){
document.getElementById("LevitationBarCss").remove();
}
if (document.getElementById("LevitationBarCss") !== null && localStorage.getItem("BJ.LevBar") !== null){
document.getElementById("LevitationBarCss").textContent=CssCode;
}
}
}
function Main(){
try{ if (localStorage.getItem("BJ.LevBar") === null) {MainFloat();}} catch (e){}
if (StyleLoaded===0){SetStyle(Number(localStorage.getItem("BJ.DefStyle"))); StyleLoaded=1;}
if (localStorage.getItem("BJ.SetStyle")!=="-inf"){
SetStyle(Number(localStorage.getItem("BJ.SetStyle")));
}
if (localStorage.getItem("BJ.LiteBar")!==null && document.querySelectorAll(".sidebar-parent-block").length === 1 && Ticks%2 === 0){
LiteBar();
}
if (localStorage.getItem("BJ.NonBarImage") !== null && document.querySelectorAll(".sidebar-parent-block").length === 1){
if (Ticks%2 === 0) {NonImageBar(true);}
} else {
NonImageBar(false);
}
if (localStorage.getItem("BJ.TransparentPanel") === "1" && document.getElementById("TransBar") === null && document.querySelectorAll(".sidebar-parent-block .sidebar .sidebar-content").length === 1) {
TransBar(true);
} else if (localStorage.getItem("BJ.TransparentPanel") === null){
TransBar(false);
}
if (document.querySelectorAll("nav.navbar.navbar-expand-lg.justify-content-between").length === 2) {
LevBar();
}
if (Leader1Info === null & Ticks%20 === 0){
SendPacket("https://msapi.top-academy.ru/api/v2/dashboard/progress/leader-group", "GET", null, false).then(data => {
data = JSON.parse(data);
Leader1Names = (data.map(item => item.full_name));
Leader1Amounts = (data.map(item => item.amount));
Leader1Photo = (data.map(item => item.photo_path));
Leader1IDS = (data.map(item => item.id));
Leader1Info=1;
})
}
if (Leader2Info === null & Ticks%20 === 0){
SendPacket("https://msapi.top-academy.ru/api/v2/dashboard/progress/leader-stream", "GET", null, false).then(data => {
data = JSON.parse(data);
Leader2Names = (data.map(item => item.full_name));
Leader2Amounts = (data.map(item => item.amount));
Leader2Photo = (data.map(item => item.photo_path));
Leader2IDS = (data.map(item => item.id));
Leader2Positions =(data.map(item => item.position));
Leader2Info=1;
})
}
try{
if (localStorage.getItem("BJ.VideoPlayback")!==null && document.getElementById("VideoPlayBackBg") === null){
var videoElement = document.createElement("video");
videoElement.muted = true;
videoElement.src = localStorage.getItem("BJ.VideoPlayback");
videoElement.style.width = "100%";
videoElement.style.height = "100%";
videoElement.style.objectFit="cover";
videoElement.id="VideoPlayBackBg";
videoElement.style.position="fixed";
videoElement.style.transition='scale 1s cubic-bezier(0.68, -0.55, 0.27, 1.55) 0s, filter .5s';
videoElement.loop = true;
videoElement.preload="none"
videoElement.autoplay = true;
videoElement.disablePictureInPicture=true;
if (localStorage.getItem("BJ.AnimatedVideoBackground") === 'true'){
CreateMovingBg()
}
document.body.prepend(videoElement);
}
}catch(e) {console.error(e)}
try{
let PageType = "Main";
if (document.querySelectorAll(".count-item.with-link").length === 2 && Ticks%2 === 0){
CoinCssSpawn();
}
const text = window.location.href;
if (text==='https://journal.top-academy.ru/index' && document.getElementById('stucked')===null || text==='https://journal.top-academy.ru/' && document.getElementById('stucked') === null || text==='https://journal.top-academy.ru/index/' && document.getElementById('stucked')===null) {
var btn = document.createElement('button');
var bodycontent = document.querySelector('body');
btn.textContent = 'Застряли здесь? P.S - Нужно будет зайти в аккаунт от BetterJournal ;)';
btn.id='stucked';
btn.onclick = function() {
localStorage.removeItem("aa5d5ab0fb3d70a5fea857cc7b7ebc23");
localStorage.removeItem("c5de26e0c59acb1c9d41a3daefa00a27");
localStorage.removeItem("d86c828583c5c6160e8acfee88ba1590");
localStorage.removeItem("ddbeba04afa6b1d93593c13484133b87");
window.location.reload(true);
};
bodycontent.appendChild(btn);
}
if (text.includes("dashboard")) {
PageType="Main";
}
if (text.includes("schedule")) {
PageType="SHEDULE";
}
if (text.includes("homework")) {
PageType="Home";
}
if (text.includes("progress")) {
PageType="Marks";
} else {PanelSpawned=0;}
if (text.includes("library")) {
PageType="Materials";
}
if (text.includes("news")) {
PageType="News";
}
if (text.includes("auth")) {
PageType="Login";
}
if (text.includes("rewards")) {
PageType="Awards";
}
if (text.includes("feedback")) {
PageType="FeedBack";
}
if (text.includes("payment")) {
PageType="Payment";
}
if (text.includes("settings")) {
PageType="Cabinet";
}
if (text.includes("faq")) {
PageType="FAQ";
}
if (text.includes("contacts")) {
PageType="Adminis";
}
if (text.includes("signal")) {
PageType="Asker";
}
if (text.includes("market")) {
PageType="Market";
}
if (localStorage.getItem("BJ.Debug") === "1") {console.log("PageType = "+PageType);}
//localStorage.getItem("BJ:UnlockUnavaiable")
//localStorage.setItem("BJ:Debug", "1");
if (Ticks%2 === 0){MainCssStyle();}
if (Ticks%100 == 0){MainFloat()}
if (loadedtimes<11){
loadedtimes=loadedtimes+1;
}
else {
timeout=70;
}
try{
var startTime = performance.now()
if (PageType!=="Login"){
if (document.querySelector(".modal-content .eval-details.centered") !==null) {}//MakeTheVote();}
loadedtimes=100;
LoadDefult();
}
if (PageType==="Login"){
Login();
} else {if (document.getElementById("LoginPageCss") !== null) {document.getElementById("LoginPageCss").remove()}}
if (PageType==="Main"){
ReworkedMainPage();
}
if (PageType==="SHEDULE"){
if ( document.querySelectorAll("router-outlet").length !== 3){
document.querySelectorAll("router-outlet")[3].remove()
}
}
if (PageType==="Home"){
ReworkedHomework();
}
if (PageType==="Marks"){
if (document.querySelectorAll("router-outlet").length === 4){
document.querySelectorAll("router-outlet")[3].remove()
}
CreateAvgMarks()
//Marks();
}
if (PageType==="Materials"){
Materials();
}
if (PageType==="News"){
NewsPage();
}
if (PageType==="Awards"){
Awards();
}
if (PageType==="FeedBack"){
FeedBack();
}
if (PageType==="Payment"){
Payment();
}
if (PageType==="Cabinet"){
Cabinet();
}
if (PageType==="FAQ"){
FAQ();
}
if (PageType==="Adminis"){
AdministrationPage();
}
if (PageType==="Asker"){
Asker();
}
if (PageType==="Market"){
Market();
}
} catch(e){
console.log(e);
}
} catch(e){
console.log(e);
}
if (XTendedDeInject === false) {setTimeout(Main, 100)}
};
function ShowMiniShedule(){
Toast("Получаем расписание...", 1)
var Xmas = new Date();
var year=((Xmas.getYear())+1900)+'-';
var month=(Xmas.getMonth())+1;
var day=(Xmas.getDate());
var DateAsk=null;
var URLToday = 'https://msapi.top-academy.ru/api/v2/schedule/operations/get-by-date?date_filter='+year+month+'-'+day;
var DayNums = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31 ,30 ,31]
if (day+1 > DayNums[month-1]){
if (month==12){
month=1
day=1
} else {
month=month+1
day=1
}
} else {
day=day+1
}
DateAsk=month+'-'+(Number(day))
var URL = 'https://msapi.top-academy.ru/api/v2/schedule/operations/get-by-date?date_filter='+year+DateAsk
var InnerToast='<div style="display: flex"> <div style="text-align: center; width: 50%"> <h2>Расписание на сегодня:</h2>';
SendPacket(URLToday, 'GET', null, false).then(data => {
if (data != -1 || data != "-1"){
const SheduleData = (JSON.parse(data));
const room_name = SheduleData.map(item => item.room_name)
let started_at = SheduleData.map(item => item.started_at)
let finished_at = SheduleData.map(item => item.finished_at)
const teacher_name = SheduleData.map(item => item.teacher_name)
const subjects = SheduleData.map(item => item.subject_name)
let CurTime = Xmas.getHours() +":"+Xmas.getMinutes()
let IRL_SheduleUpdate = false;
if (subjects.length != 0){
for (var sub in subjects){
started_at = SheduleData.map(item => item.started_at)
finished_at = SheduleData.map(item => item.finished_at)
const TimeStartHours = (Number(started_at[sub].split(":")[0])*60)
const TimeStartMinutes = (Number(started_at[sub].split(":")[1]))
const TimeEndHours = (Number(finished_at[sub].split(":")[0])*60)
const TimeEndMinutes = (Number(finished_at[sub].split(":")[1]))
let NowHours = (Number(CurTime.split(":")[0])*60)
let NowMinutes = (Number(CurTime.split(":")[1]))
let passed = (TimeEndHours + TimeEndMinutes) - (NowHours + NowMinutes)
let percent = (1 - (passed/90))
function CalculatePercentLesson(){
let Xmas = new Date();
let CurTime = Xmas.getHours() +":"+Xmas.getMinutes()
NowHours = (Number(CurTime.split(":")[0])*60)
NowMinutes = (Number(CurTime.split(":")[1]))
passed = (TimeEndHours + TimeEndMinutes) - (NowHours + NowMinutes)
percent = (1 - (passed/90))
let PercentBar=document.getElementById('PGBar')
console.log('CalcLoader...')
if (PercentBar !== null && percent <= 100.001){
console.log('Calced:',percent)
try{
PercentBar.value=percent;
let PercentVal = document.getElementById('PercentBar')
let PercentNum = Number(percent*100)+''.slice(0,4)
PercentVal.textContent=PercentNum.slice(0,4)+'%'
setTimeout(function() {CalculatePercentLesson()}, 2000)
}catch(e){console.error(e)}
}
}
InnerToast+=`
<div style="border: 2px solid `+Accent_MainBg.slice(0,7)+`; border-radius: 20px; margin-bottom: 3px; padding: 10px;`
if (teacher_name[sub]=="Миненко Алексей Павлович"){InnerToast+=`background-image: url('https://github.com/0mnr0/WallpaperInJournal/blob/main/res/LegendaryTeacher.png?raw=true'); background-size: 100%; background-position: top;`}
InnerToast+='">';
if (percent>0 && percent<1.0001){
if (!IRL_SheduleUpdate) {
IRL_SheduleUpdate=true;
console.log('CalculatePercentLesson calling...')
setTimeout(CalculatePercentLesson, 3300);
}
InnerToast+=`
<div style="display: flex">
<progress value="`+percent+`" id="PGBar" max="1" style="margin-top: 5px; margin-right: 5px; vertical-align: bottom; width: 90%; accent-color: `+Accent1+`"></progress>
<p id="PercentBar" style="display: contents; margin-left: 5px">`+((percent*100)+'').slice(0,4)+`%</p>
</div>
`;
}
InnerToast+=`
<h3>`+subjects[sub]+`</h3>
<h5>`+teacher_name[sub]+`</h5>
<h6>`+started_at[sub]+' - '+finished_at[sub]+', '+room_name[sub]+`</h6>`;
InnerToast+=`
</div>`}
} else {
InnerToast+='<p> Тут пусто :) </p>'
}
}
InnerToast+='</div><div style="text-align: center; margin-left: 15px; width: 50%"><h2>Расписание на завтра:</h2>'
SendPacket(URL, 'GET', null, false).then(data => {
if (data != -1 || data != "-1"){
const SheduleData = (JSON.parse(data));
const room_name = SheduleData.map(item => item.room_name)
const started_at = SheduleData.map(item => item.started_at)
const finished_at = SheduleData.map(item => item.finished_at)
const teacher_name = SheduleData.map(item => item.teacher_name)
const subjects = SheduleData.map(item => item.subject_name)
if (subjects.length != 0){
for (var sub in subjects){
InnerToast+=`
<div style="border: 2px solid `+Accent_MainBg.slice(0,7)+`; border-radius: 20px; margin-bottom: 3px; padding: 10px; `
if (teacher_name[sub]=="Миненко Алексей Павлович"){InnerToast+=`background-image: url('https://github.com/0mnr0/WallpaperInJournal/blob/main/res/LegendaryTeacher.png?raw=true'); background-size: 100%; background-position: top;`}
InnerToast+='">';
InnerToast+=`
<h3>`+subjects[sub]+`</h3>
<h5>`+teacher_name[sub]+`</h5>
<h6>`+started_at[sub]+' - '+finished_at[sub]+', '+room_name[sub]+`</h6>
</div>`}
} else {
InnerToast+='<p> Тут пусто :) </p>'
}
InnerToast+='</div></div>'
DocToast(InnerToast)
} else {
Toast("Не удалось получить расписание на завтра.", 1)
}
})
})
}
function SheduleGet(){
document.addEventListener('keydown', function(event) {
if (document.querySelector('.text-homework-wrap, .text-homework-answer-wrap')===null && event.key == "Shift" && (Date.now() - ShiftTime) < 250 && (Date.now() - ShiftTime) > 50 && document.getElementById("DocToastID") === null && window.location.href !== 'https://journal.top-academy.ru/ru/auth/login/index'){
ShowMiniShedule()
ShiftTime=0
} else if (event.key == "Shift"){
if ((Date.now() - ShiftTime) < 250 && document.getElementById("DocToastID") !== null){
document.getElementById('DocToastID').style.top='-50%';
document.getElementById('DocToastID').style.height='50%';
setTimeout(function(){document.getElementById('DocToastID').remove(); document.getElementById('overWriteDocToastCss').remove()},1000)
}
ShiftTime=Date.now()
}
});
}
function parseEvents(){
fetch('https://raw.githubusercontent.com/0mnr0/WallpaperInJournal/main/BetterJournalEvents/oldExtensionEvents.json', {cache: "no-cache"})
.then(response => {return response.text();})
.then(data => {
data = new Function('return ' + data)();
for (let events in data) {
let event = data[events]
if (event.enabledForDev === undefined) {event.enabledForDev = false}
console.log(event.enabled, '||', event.enabledForDev,'===',AmIADeveloper)
if (event.enabled || event.enabledForDev === AmIADeveloper){
let ToastTitle = event.eventTitle;
let ToastDesc = event.eventDescription;
Toast(ToastTitle, event.showDuration, ToastDesc, event.buttons);
}
}
})
.catch(e => {console.error(e)});
}
window.DocToast = function(InnerHTML, RemoveDeafultOkButton) {
DocToast(InnerHTML, RemoveDeafultOkButton)
}
//DocToast
function DocToast(InnerHTML, RemoveDeafultOkButton, AdditionalCSS){
if (AdditionalCSS === null || AdditionalCSS === undefined || AdditionalCSS === false) {AdditionalCSS=''}
if (RemoveDeafultOkButton === undefined) {RemoveDeafultOkButton=false}
if (document.getElementById("DocToastID") ===null) {
var DocToast = null;
var TCont = document.createElement('div');
TCont.id="DocToastID";
let finalDocToastCss=document.createElement('style')
finalDocToastCss.id='overWriteDocToastCss'
let DocToastCss=`
#DocToastID{
position: fixed;
width: 100%;
height: 50%;
transition: all .6s;
top: -50%;
overflow: hidden;
left: 50%;
transform: translate(-50%,-50%);
background: `+Accent3+`;
z-index: 89999;
}
`;
DocToastCss+='div#DocToast-container{'+AdditionalCSS+'}'
finalDocToastCss.textContent=DocToastCss
document.body.after(finalDocToastCss)
TCont.style=finalDocToastCss;
window.CloseDocToastExtra = function(){document.getElementById('DocToastID').remove(); canSiteRKM=true; document.getElementById('overWriteDocToastCss').remove()}
window.CloseDocToast = function(){
document.getElementById('DocToastID').style.top='-50%';
document.getElementById('DocToastID').style.height='50%';
setTimeout(function(){document.getElementById('DocToastID').remove(); document.getElementById('overWriteDocToastCss').remove()}, 600)
canSiteRKM=true;
}
var TContInner = '<div id="DocToast-container">';
TContInner+=InnerHTML
if (RemoveDeafultOkButton !== true) TContInner+='<button class="DocToastClickOK" onClick="window.CloseDocToast()">OK</button></div>'
TCont.innerHTML = TContInner
document.querySelector("body").appendChild(TCont);
var CodeTag = document.createElement('script');
var CodeContent = document.createTextNode(`
function PushToVLink(Url){
document.getElementById("HTMLIdVideoLink").value=Url;
document.getElementById("DocToastID").remove()
}
`);
CodeTag.appendChild(CodeContent);
TCont.appendChild(CodeTag)
DocToast = document.querySelector("div#DocToast")
setTimeout(function() {
document.getElementById("DocToastID").style.height = "100%";
document.getElementById("DocToastID").style.top = "50%";
}, 10)
} else {
Toast("Не удалось открыть DocToast, уже открыт другой экземпляр", 1)
}
}
window.CloseToastById = function(id) {
document.getElementById("ToastID"+id).style="opacity: 0; transition: 1s;"
setTimeout(function () { document.getElementById("ToastID"+id).remove()}, 600);
}
function Toast(TextMessage, ShowSeconds, TextDescription, Buttons) {
window.Toast(TextMessage, ShowSeconds, TextDescription, Buttons)
}
//Toast() //Toastn() // Toast()n
window.Toast = function(TextMessage, ShowSeconds, TextDescription, Buttons){
if (ShowSeconds === undefined){ShowSeconds=1} else {ShowSeconds=Number(ShowSeconds)}
if (TextDescription === undefined || TextDescription===null) {TextDescription='';}
try{
TextMessage=TextMessage.replaceAll("\n","<br/>")
const Time=ShowSeconds*1000;
const ToastID = randomIntFromInterval(1,900000);
if (document.getElementById("ToastID"+ToastID) !==null) {Toast()}
else{
var ToastContainer = document.querySelector("div#toast-container");
if (ToastContainer === null){//
var TCont = document.createElement('div');
TCont.classname='overlay-container';
TCont.innerHTML = '<div id="toast-container" class="toast-top-right toast-container"></div>'
document.querySelector("body").appendChild(TCont);
ToastContainer = document.querySelector("div#toast-container")
}
var newDiv = document.createElement('div');
newDiv.className = "toast-success toast ng-trigger ng-trigger-flyInOut";
newDiv.id="ToastID"+ToastID;
newDiv.style="opacity: 0; transition: all .5s";
let finalInner = '<div class="message">'+TextMessage+'<br>'
if (TextDescription !== undefined && TextDescription !== null && TextDescription !== '') {finalInner+= '<span style="font-size: 15px">'+TextDescription+'</span>'}
if (Buttons !== null && Buttons!== undefined) {
let ButtonInner = '';
finalInner+="<div style='display: flex'>"
for (let AllbtnData in Buttons){
let btnData = Buttons[AllbtnData]
if (btnData.action === null) {btnData.action = 'window.CloseToastById(`'+ToastID+'`)'}
try{
ButtonInner='<button onClick="'+btnData.action+'">'+btnData.text+'</button>'
finalInner+=ButtonInner
} catch(e) {console.error(e)}
}
finalInner+="</div>"
}
finalInner+='</div>'; newDiv.innerHTML = finalInner;
ToastContainer.appendChild(newDiv);
setTimeout(function () { newDiv.style="opacity: 1; transition: .2s;"}, 200);
setTimeout(function () { window.CloseToastById(ToastID) }, Time+1000);
}
}catch(e){console.error(e)}
}
document.addEventListener('keyup', function(event) {
if (event.keyCode === 192) {
try{
window.TildaKeyPress()
} catch(e){}
}
});
document.oncontextmenu = function (){
setTimeout( function() { if (localStorage.getItem('BJ.RightClickToOpenCircular') !== null && canSiteRKM) {window.TildaKeyPress()} }, 10)
return (localStorage.getItem('BJ.RightClickToOpenCircular') === null)
}
function moveElement(x, y) {
if (localStorage.getItem("BJ.AnimatedVideoBackground") === 'true'){
const element = document.getElementById('VideoPlayBackBg');
const rect = element.getBoundingClientRect();
const centerX = rect.left + rect.width / 2;
const centerY = rect.top + rect.height / 2;
let newX = (x - centerX) / 100;
let newY = (y - centerY) / 100;
const maxOffset = 50;
newX = Math.max(Math.min(newX, maxOffset), -maxOffset);
newY = Math.max(Math.min(newY, maxOffset), -maxOffset);
element.style.transform = `translate(${newX}px, ${newY}px)`;
} else {document.removeEventListener('mousemove', mouseMoveHandler);}
}
const mouseMoveHandler = (event) => {
moveElement(event.clientX, event.clientY);
};
function CreateMovingBg(){
document.addEventListener('mousemove', mouseMoveHandler);
}
function GetUserAge(){
if (userInfo === null){
if (localStorage.getItem('BJ.Stat.LastUAd') !== null){
return Number(localStorage.getItem('BJ.Stat.LastUAd'))
} else {
return 0
}
} else {
return new Date().getFullYear() - new Date(userInfo.birthday).getFullYear() - (new Date() < new Date(new Date().getFullYear() + '-' + userInfo.birthday.slice(5)) ? 1 : 0);
}
}
function parseWallpapers(){
window.setWallpaper = function (isForBigBoys, src, preview) {
if (isForBigBoys) {Toast("Контент этих обоев может иметь неприемлимый контент не подходящий для лиц младше 18 лет", 1)}
document.getElementById('VideoPlayBackBg').src = src
if (document.getElementById('VideoPlayBackBg').poster !== preview){
document.getElementById('VideoPlayBackBg').poster = preview
}
document.getElementById('HTMLIdVideoLink').value = src
localStorage.setItem('BJ.VideoPlayback', src)
}
function GenerateListByTag(SearchTag, TagName){
let currentwallnum = 0;
let returningInner = '';
for (let wallitem in SearchTag){
var item = SearchTag[wallitem]
if (item.dev === false || item.dev === undefined){
currentwallnum++;
let ClassName = "WallPaperItemButton";
let installButtonClass = "installbutton ";
if (item.wallpaperEngineLink !== null && item.wallpaperEngineLink !== undefined) {installButtonClass+='WEngineExists'}
if (currentwallnum === 1) {ClassName+=" WallStartDiv"}
if (currentwallnum === SearchTag.length) {ClassName+=" WallEndDiv"}
if (item.forBigBoysOnly === true) {ClassName+=" forBigBoysOnly"}
if ((item.forBigBoysOnly === false && TagName==='all') || TagName!=='all'){
if ((item.forBigBoysOnly === true && GetUserAge() >= 16) || item.forBigBoysOnly === false){
if (item.visible){
returningInner+=`
<div class="WallItemLine">
<img class="`+ClassName+`" loading="eager" src="`+item.wallpaperPreview+`"> </img>
<div class="WallInfoDiv">
<span class="title">`+item.wallpaperName+`</span>
<div class="tag"><div class="tagContent"><span class="tagItem">#</span>`+item.tag+`</div></div>
<div class="installdiv">
<button class="`+installButtonClass+`" onClick="window.setWallpaper(`+item.forBigBoysOnly+`, '`+item.wallpaperVideoLink+`', '`+item.wallpaperPreview+`')"> Установить </button>
<button class="WEngineButton`+installButtonClass+`" onClick="window.open('`+item.wallpaperEngineLink+`', '_blank')"></button>
</div>
</div>
</div>
`;
} else {return ''}
}
}
}
}
return returningInner
}
fetch('https://raw.githubusercontent.com/0mnr0/WallpaperInJournal/main/BetterJournalEvents/oldExtensionWallpapers.json', {cache: "no-store"})
.then(response => {return response.text();})
.then(data => {
data = new Function('return ' + data)();
let ListOfTags = ['Все']
let ListOfWallpapers= {all: []};
for (const wallpaperList in data){
let wallpaper = data[wallpaperList]
let WallPapaerTag = (wallpaper.tag).replaceAll(" ","")
eval('if (ListOfWallpapers.'+WallPapaerTag+' === undefined) {ListOfWallpapers.'+WallPapaerTag+' = []; ListOfWallpapers.'+WallPapaerTag+'.push(wallpaper)} else {ListOfWallpapers.'+WallPapaerTag+'.push(wallpaper)}')
if (!ListOfTags.includes(WallPapaerTag)) {ListOfTags.push(WallPapaerTag);} // Creating List of tags
ListOfWallpapers.all.push(wallpaper)
}
window.RefreshWithNewFilter = function(){
var newTag = document.getElementById("WallPaperChoose").value;
let SearchItem = eval('ListOfWallpapers.'+newTag);
document.querySelector('.ListOfWallpapers').innerHTML='';
document.querySelector('.ListOfWallpapers').innerHTML=GenerateListByTag(SearchItem, newTag)
}
WallPaperInner=`
<style>
div#DocToast-container * {color: white !important; background-size: contain}
.WallpaperChoose {width: 100%;}
input#SearchID {outline: none; border: solid 2px `+Accent0+`; background: `+Accent3+`; border-radius: 30px}
p{margin: 0}
#MargR {padding-right: 12px; align-content: center}
.ListOfWallpapers {margin-top: 10px; display: inline-grid; width: 100%}
select#WallPaperChoose {outline: none; background: black; border: solid 2px `+Accent2+`; color: white; border-radius: 10px; padding: 5px; width: 100%}
.WallPaperItemButton {max-width: 620px; width: 60%; max-height: 100px; height: -webkit-fill-available; object-fit: cover; min-width: 230px; filter: brightness(0.7);}
.WallStartDiv {border-start-start-radius: 20px; border-start-end-radius: 20px}
.forBigBoysOnly {border: solid 3px red}
.WallItemLine:hover {scale: 1.015; filter: brightness(1)}
.WallItemLine {transition: all .4s; filter: brightness(0.9); display: flex; height: 85px}
.WallEndDiv {border-end-start-radius: 20px; border-end-end-radius: 20px}
.WallInfoDiv {width: 40%}
.WallInfoDiv span.title {margin: 2px; text-align: center; width: 100%}
.tag { z-index: 2; font-size: xx-small; text-align: center; padding: 5px; margin: 3px; position: absolute; align-content: center; left: 0px; top: 0px}
.tagContent {width: fit-content; display: inline-block; background: #2a2a2ad6; border-radius: 10px; padding-left: 4px; padding-right: 4px}
span.tagItem {font-size: small;}
#VideoWallpaperBackground {position: absolute;top: 0px; z-index: 80000;width: 100%;background: transparent; height: 100%; object-fit: cover}
.installdiv {display: flex; bottom: 0px; position: absolute; width: 40%}
.WallInfoDiv button {cursor: pointer; outline: none}
button.installbutton:hover {border: solid 2px gray}
button.installbutton {bottom: 0px; transition: all .2s; position: relative; border-radius: 10px !important; width: -webkit-fill-available; margin-left: 13px}
button.WEngineButtoninstallbutton {display: none}
button.WEngineButtoninstallbutton.WEngineExists {width: 20%; display: block; margin-left: 2px; border-radius: 10px !important; border: solid 2px #0075ff; background-image: url('https://github.com/0mnr0/WallpaperInJournal/blob/main/res/wallpaper_engine.png?raw=true'); background-repeat: no-repeat; background-position: center;}
button.installbutton.WEngineExists { margin-left: 13px; width: 80%}
</style>
<h4> Каталог обоев </h4>
<h6> Вы можете найти желаемый видео-фон по тэгам: </h6>
<div class="WallpaperChoose">
<div style="display: flex">
<p id="MargR"> Поиск: </p>
<select name="WallPaperChoose" id="WallPaperChoose" onchange="RefreshWithNewFilter()">`
for (let tag in ListOfWallpapers){
let VisibleTag = tag
VisibleTag=VisibleTag.replace("all","Всё").replace("Fantastic","Фантастика").replace("Mems","Мемы").replace("Cars","Автомобили").replace("Anime","Аниме").replace("Films","Фильмы").replace("Nature","Природа").replace("PixelArt","Пиксель Арт").replace("Games","Игры")
WallPaperInner+='<option value="'+tag+'">'+VisibleTag+'</option>'
}
WallPaperInner+=`</select>
</div>
<div class="ListOfWallpapers">`
let SearchItem = eval('ListOfWallpapers.all')
WallPaperInner+=GenerateListByTag(SearchItem, 'all')
WallPaperInner+=`
</div>
</div>`;
})
.catch(e => {console.error(e); WallPaperInner = '<p>Не удалось получить список обоев </p> <br><p>Данные ошибки: <br><font color="red"> '+e+'</font></p> <button onClick="BJ_parseWallpapers()">Попробовать снова</button>'})
}
window.BJ_parseWallpapers = function(){WallPaperInner=''; window.CloseDocToastExtra(); parseWallpapers()}
function parseUserinfo(){
setTimeout(function() {
SendPacket('https://msapi.top-academy.ru/api/v2/settings/user-info', 'GET', null, false)
.then(data => {
userInfo = new Function('return ' + data)();
localStorage.setItem('BJ.Stat.LastUAd', new Date().getFullYear() - new Date(userInfo.birthday).getFullYear() - (new Date() < new Date(new Date().getFullYear() + '-' + userInfo.birthday.slice(5)) ? 1 : 0))
})
}, 1000)
}
function RegisterPacet(){
window.SendPacet = function(URL, Type, JSONVals, RefreshBearer){
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open(Type, URL);
xhr.setRequestHeader('authority', 'msapi.top-academy.ru');
xhr.setRequestHeader('method', Type);
xhr.setRequestHeader('path', '/api/v2/auth/login');
xhr.setRequestHeader('scheme', 'https');
xhr.setRequestHeader('Accept', 'application/json, text/plain, */*');
xhr.setRequestHeader('Accept-Language', 'ru_RU, ru');
xhr.setRequestHeader('Authorization', 'Bearer '+LoadedBearer);
xhr.onreadystatechange = () => {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status >= 200 && xhr.status < 300) {
resolve(jsonify(xhr.responseText));
} else {
reject({status: xhr.status, error: xhr.statusText});
}
}
};
xhr.onerror = () => reject(xhr.statusText);
if (JSONVals!==null && JSONVals!== undefined) {
xhr.setRequestHeader('Content-Type', 'application/json');
let requestBody = JSONVals
if (typeof(JSONVals) === 'string') {requestBody = JSON.parse(JSONVals);}
xhr.send(JSON.stringify(requestBody));
} else {
xhr.send();
}
if (RefreshBearer) {GetBearer()}
});
}
window.jsonify = function(object){
return new Function('return ' + object)();
}
}
function jsonify(object){ return new Function('return ' + object)(); }
function NewHomework(){
function CreateStyle(){
if (document.getElementById('HomeworkStylishment') === null){
let StyleElement = document.createElement('style')
StyleElement.id='HomeworkStylishment'
StyleElement.textContent = `
.HomeworkCard {cursor: deafult; background: #00000099; padding: 10px; z-index: 3; border-radius: 12px; margin: 10px}
.HomeworkCard h4 {cursor: context-menu}
`;
document.querySelector('.item-homework').appendChild(StyleElement)
}
}
function CreateHomework(title, id){
CreateStyle()
let MainCard = document.createElement('div')
MainCard.className='HomeworkCard'
MainCard.id="HomeworkCard"+id
MainCard.innerHTML=`
<h4>`+title+`<h4>
`
document.querySelector('.item-homework').appendChild(MainCard)
}
document.querySelector('.item-homework').innerHTML=''
let current_value_maximum = NaN;
SendPacet('https://msapi.top-academy.ru/api/v2/count/page-counters?counter_type=100','GET',null, false,).then(currelt_count=>{
console.log(currelt_count);
current_value_maximum = currelt_count[0].counter
SendPacet('https://msapi.top-academy.ru/api/v2/homework/operations/list?page=1&status=3&type=0&group_id=9', 'GET', null, false).then(current_list=>{
console.log(current_list)
for (let ci in current_list){
let item = current_list[ci]
CreateHomework(item.name_spec, item.id)
}
})
})
}
window.journalXTendedInit = function(){
console.log(typeof window.journalXTended === 'function', '&&', XTendedDeInject+'==='+false+":"+(XTendedDeInject===false))
if (typeof window.journalXTended === 'function' && XTendedDeInject === false){
Toast('Кажется вы в списке доверенных тестировщиков если Better Journal нашел функции XTended версии!', 3)
XTendedDeInject = true;
setTimeout(function(){
try{document.getElementById('OpenSettings_BJ').remove()} catch(e) {}
try{document.getElementById('ShowImageCode').remove()} catch(e) {}
try{document.getElementById('HintFix').remove()} catch(e) {}
try{document.getElementById('HomeworkPageCss').remove()} catch(e) {}
try{document.getElementById('DeafultStyleCss').remove()} catch(e) {}
try{document.getElementById('PhotoViewBG').parentElement.remove()} catch(e) {}
}, 140)
}
}
function XTCheck(){
window.journalXTendedInit()
}
(function() {
if (localStorage.getItem("BJ.DefStyle") === null || localStorage.getItem("BJ.DefStyle") === '0') {localStorage.setItem("BJ.DefStyle",5)}
setTimeout(Main, 100);
setTimeout(XTCheck, 200);
document.querySelector("html").style.background="black";
LoadDefult()
GetBearer();
Main();
SheduleGet() // SetupListener for Fast Schedule
parseUserinfo()
parseEvents()
parseWallpapers()
let btns = {
0:{
action: "DocToast('<span> Перейдите по ссылке <b>chrome://extensions/</b> и установите флажок <b>Режим разработчика</b>. Мы надеемся это требование скоро пропадёт ')",
text: "Включить режим разработчика"
},
1:{
action: " Toast('Хорошо, больше это сообщение не появится', 1); localStorage.setItem('BJ.DontShowDevTools', 1)",
text: "Больше не показывать"
}
}
if (localStorage.getItem('BJ.DontShowDevTools') === null){Toast("Пожалуйста, включите режим разработчика", 4, "Tampermonkey теперь требует включение режима разработчика для загрузки скрипта", btns)}
if (localStorage.getItem("BJ.CustomThemeTransparency") === null) {localStorage.setItem("BJ.CustomThemeTransparency", "80")}
if (localStorage.getItem('BJ.HideMeAway') !== null){
setTimeout(function(){
if (localStorage.getItem('BJ.HideMeAway') !== null){
for (var i = 0; i <= 100000 ; i++) {
window.clearInterval(i);
window.clearTimeout(i);
if(window.mozCancelAnimationFrame)window.mozCancelAnimationFrame(i); // Firefox
}
Main()
}
}, 10000)
}
if (localStorage.getItem('BJ.NotifiesAutoRead') !== null) {setTimeout(ReadAllNews, 4000)}
if (localStorage.getItem("BJ.Update2.6.2") === null){
try{
DocToast( `
<style>
.GuestureTutorial {height: auto; overflow: hidden; transition: all 1s; border-start-start-radius: 15px; border-start-end-radius: 15px; background: `+Accent3+`;width: 100%;padding: 5px}
.UpdateAdded{background: `+Accent3+`;width: 100%; padding: 5px; margin-top: 3px}
.UpdateChanged{background: `+Accent3+`;width: 100%; padding: 5px; margin-top: 3px;}
.UpdateRemoved{background: `+Accent3+`;width: 100%; padding: 5px; margin-top: 3px;}
.LastDiv {border-end-start-radius: 15px; border-end-end-radius: 15px;}
.NothingRemoved {display: none}
</style>
<h4 style="text-align: center: width: 100%"><b>Обновление 2.6.2!</b></h4>
<div class="GuestureTutorial" id="GuestureHint" style=""><p><b> </b></p>
<h5> Это техническое обновление. Подготовка к уходу с Tampermonkey</h5>
<span> Так как установка Better Journal становится всё сложнее, было принято решение оставить Better Journal и перейти к отдельномау расширеню.
</span>
<span> Но момент 23 октября могу сказать что расширение появится в Chrome Webstore в любом случае. Вопрос - когда. Я бы не хотел торопить события и сделать всё максимально круто к запуску. На текущий момент количество анимаций в новом расширении кратно превосходит количество анимаций в BetterJournal</span>
<span> Появится огромная кастомизация, скорость запуска уменьшиться в разы, настройки будут выглядеть абсолютно по-другому, да и вприницпе там ещё много чего интересного. Вам осталось только ждать. Как только дата выхода расширения будет примерно ясна - сразу дам знать.
</span>
<br><br>
</div>
<div class="UpdateChanged "><b style="color: white !important;">Изменено:</b>
<p>~ Исправлен черный текст на странице с расписанием <br>
~ Исправлена окраска ползунка прокрутки в некоторых случаях <br>
~ Исправлена окраска элементов в новом разделе со средними оценками <br>
</p>
</div>
`)
localStorage.setItem("BJ.Update2.6.2", 1)
} catch(e){}
}
})();