// 2023 © Aliberk Sandıkçı // Initialize Variables / Arrays / Maps and first functions // Import after utils, updates, and mid js files! // CONSTANT VARIABLES const allButtons = [ "timers-button", "yemekhane-button", "ders-programi", "animation-button", "settings-button", "stopwatch-button", "timer-button" ]; const allCheckboxes = [ "chx-clockSecond", "chx-timerMsec", "chx-devVersion", "chx-yksTimer", "chx-fullscreenClock", "chx-hideHeader", ]; const midItems = ["timers", "yemek-listesi", "animations", "ders-programi"]; const timersItems = ["stopwatch", "timer"]; const schoolPeriods = { ["lessonStarts"]: ["08-40", "09-30", "10-20", "11-10", "12-00", "13-30", "14-20", "15-10"], ["lessonEnds"]: ["09-20", "10-10", "11-00", "11-50", "12-40", "14-10", "15-00", "15-50"], }; // VARIABLES var specialPeriods = { ["launchStart"]: "12-40", ["schoolEnds"]: "15-50", }; var localSettings = { ["local-grade"]: "Sınıf", ["local-class"]: "Şube", } var curVals = [ "clockSecond", "timerMsec", "devVersion", "yksTimer", "fullscreenClock", "hideHeader", ] var curSeconds; var curMin; var curHour; const confs = new Map(); FirstInitialization(); var t = setInterval(DEVupdateSettings, 100); var t2 = setInterval(updateComponents, 100); function FirstInitialization() { getVariablesToConfig(); getFormInputs(); getURLSettings(); updateFormInputs(); // Update Beginning Components console.log(confs.get("local-grade")); setToID("grade", confs.get("local-grade"), "Sınıf"); setToID("class", confs.get("local-class"), "Şube"); updateComponents(); } function getVariablesToConfig() { addObjectToConfig(localSettings, 1); } function getFormInputs() { allCheckboxes.forEach(element => { let chx = document.getElementById(element); if (chx.checked) { confs.set(element.slice(4), "1"); } else { confs.set(element.slice(4), "0"); } }); } function getURLSettings() { const queryString = window.location.search; const urlParams = new URLSearchParams(queryString); addArrayToConfig(allCheckboxes, urlParams); addArrayToConfig(curVals, urlParams); addObjectToConfig(localSettings, urlParams); addObjectToConfig(specialPeriods, urlParams); } /** * Update form inputs with local variables and user changed options */ function updateFormInputs() { confs.forEach((val, key) => { if (allCheckboxes.includes("chx-" + key)) { if (val == "0") { document.getElementById("chx-" + key).checked = false; } else { document.getElementById("chx-" + key).checked = true; } } }); }