From 3d5d8c247295279d753d7fe678101d40e0561099 Mon Sep 17 00:00:00 2001 From: asandikci Date: Wed, 22 Nov 2023 17:10:45 +0300 Subject: [PATCH] feat: add smartboard live wallpaper to website --- iflpanel/tahta/assets/css/dev.css | 23 ++ iflpanel/tahta/assets/css/dev.css.map | 1 + iflpanel/tahta/assets/css/main.css | 278 +++++++++++++++++++++ iflpanel/tahta/assets/css/main.css.map | 1 + iflpanel/tahta/assets/js/dev.js | 2 + iflpanel/tahta/assets/js/initialize.js | 120 +++++++++ iflpanel/tahta/assets/js/old_main.js | 139 +++++++++++ iflpanel/tahta/assets/js/old_stopwatch.js | 91 +++++++ iflpanel/tahta/assets/js/timers.js | 81 ++++++ iflpanel/tahta/assets/js/updates.js | 47 ++++ iflpanel/tahta/assets/js/utils.js | 130 ++++++++++ iflpanel/tahta/assets/scss/_animation.scss | 19 ++ iflpanel/tahta/assets/scss/_button.scss | 122 +++++++++ iflpanel/tahta/assets/scss/dev.scss | 22 ++ iflpanel/tahta/assets/scss/main.scss | 236 +++++++++++++++++ iflpanel/tahta/dev.html | 192 ++++++++++++++ iflpanel/tahta/image.png | Bin 0 -> 111019 bytes iflpanel/tahta/index.html | 122 +++++++++ 18 files changed, 1626 insertions(+) create mode 100644 iflpanel/tahta/assets/css/dev.css create mode 100644 iflpanel/tahta/assets/css/dev.css.map create mode 100644 iflpanel/tahta/assets/css/main.css create mode 100644 iflpanel/tahta/assets/css/main.css.map create mode 100644 iflpanel/tahta/assets/js/dev.js create mode 100644 iflpanel/tahta/assets/js/initialize.js create mode 100644 iflpanel/tahta/assets/js/old_main.js create mode 100644 iflpanel/tahta/assets/js/old_stopwatch.js create mode 100644 iflpanel/tahta/assets/js/timers.js create mode 100644 iflpanel/tahta/assets/js/updates.js create mode 100644 iflpanel/tahta/assets/js/utils.js create mode 100644 iflpanel/tahta/assets/scss/_animation.scss create mode 100644 iflpanel/tahta/assets/scss/_button.scss create mode 100644 iflpanel/tahta/assets/scss/dev.scss create mode 100644 iflpanel/tahta/assets/scss/main.scss create mode 100644 iflpanel/tahta/dev.html create mode 100644 iflpanel/tahta/image.png create mode 100644 iflpanel/tahta/index.html diff --git a/iflpanel/tahta/assets/css/dev.css b/iflpanel/tahta/assets/css/dev.css new file mode 100644 index 0000000..400f86e --- /dev/null +++ b/iflpanel/tahta/assets/css/dev.css @@ -0,0 +1,23 @@ +@charset "UTF-8"; +/* 2023 Aliberk Sandıkçı*/ +#ders-programi { + display: none; + flex-direction: column; + padding: 0px 100px; + padding-top: 10px; +} +#ders-programi img { + max-width: 1309px; + max-height: 601px; + aspect-ratio: 1309/601; +} + +.min, +.sec, +.msec { + display: flex; + width: 7vw; + justify-content: center; +} + +/*# sourceMappingURL=dev.css.map */ diff --git a/iflpanel/tahta/assets/css/dev.css.map b/iflpanel/tahta/assets/css/dev.css.map new file mode 100644 index 0000000..eed168e --- /dev/null +++ b/iflpanel/tahta/assets/css/dev.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../scss/dev.scss"],"names":[],"mappings":";AAAA;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;AAAA;AAAA;EAGE;EACA;EACA","file":"dev.css"} \ No newline at end of file diff --git a/iflpanel/tahta/assets/css/main.css b/iflpanel/tahta/assets/css/main.css new file mode 100644 index 0000000..136d240 --- /dev/null +++ b/iflpanel/tahta/assets/css/main.css @@ -0,0 +1,278 @@ +@charset "UTF-8"; +/* 2023 Aliberk Sandıkçı*/ +/* 2023 Aliberk Sandıkçı*/ +@keyframes rain { + 0% { + background-color: white; + } + 25% { + background-color: red; + } + 50% { + background-color: green; + } + 100% { + background-color: yellow; + } +} +* { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: default; +} + +body, +html { + display: flex; + flex-direction: column; + margin: 0px; + height: 100%; + width: 100%; + background-color: black; + color: aliceblue; + font-family: "Montserrat", Arial, Helvetica, sans-serif; +} + +section#top { + display: flex; + justify-content: space-around; + user-select: none; + width: 100%; + height: 100px; +} +section#top .class { + margin: 5px; + min-width: 20vw; + margin-right: auto; + font-weight: 800; + font-style: oblique; +} +section#top .clock { + display: flex; +} +section#top .clock #time { + display: flex; + align-items: center; + align-self: center; + align-content: center; + justify-items: center; + justify-self: center; + justify-content: center; + font-size: 80px; +} +section#top .settings-box { + min-width: 20vw; + margin-left: auto; + text-align: right; +} +section#top .settings-box button { + height: 30px; + width: 30px; + line-height: 20px; +} +section#top .settings-box #settings { + display: none; + flex-direction: column; + align-items: end; + font-size: small; + margin-top: 5px; +} +section#top .settings-box #settings form { + display: flex; + flex-direction: column; + position: relative; + background-color: grey; +} +section#top .settings-box #settings form .cell { + float: left; + display: flex; + flex-direction: row; + margin-bottom: 1vh; +} +section#top .settings-box #settings form .cell input[type=checkbox] { + appearance: none; + background-color: #fff; + margin: 0; + width: 1.15em; + height: 1.15em; + border: 0.15em solid darkslateblue; + border-radius: 0.15em; + transform: translateY(-0.075em); + display: grid; + place-content: center; + outline: 0px solid white; + outline-offset: 0px; +} +section#top .settings-box #settings form .cell input[type=checkbox]::before { + content: ""; + width: 0.65em; + height: 0.65em; + transform: scale(0); + transition: 120ms transform ease-in-out; + box-shadow: inset 1em 1em green; + transform-origin: bottom left; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +section#top .settings-box #settings form .cell input[type=checkbox]:checked::before { + transform: scale(1); +} +section#top .settings-box #settings form .cell input[type=checkbox]:focus { + outline: max(2px, 0.15em) solid white; + outline-offset: max(2px, 0.15em); +} +section#top .settings-box #settings form .cell label { + padding-left: 5px; + display: block; + text-align: left; + align-self: center; +} +section#mid { + display: flex; + flex-direction: column; + text-align: center; + user-select: none; +} +section#mid #timers { + display: none; + flex-direction: column; +} +section#mid #timers #timers-menu ul { + display: flex; + justify-content: center; + padding: 0; +} +section#mid #timers #timers-menu ul li { + list-style-type: none; + box-sizing: border-box; +} +section#mid #timers #timers-menu ul li .pushable { + position: relative; + border: none; + background: transparent; + padding: 0; + cursor: pointer; + outline-offset: 4px; + transition: filter 250ms; +} +section#mid #timers #timers-menu ul li .shadow { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: hsla(0, 0%, 0%, 0.25); + will-change: transform; + transform: translateY(2px); + transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1); +} +section#mid #timers #timers-menu ul li .edge { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient(to left, hsl(235, 84%, 26%) 0%, hsl(235, 84%, 26%) 8%, hsl(235, 84%, 26%) 92%, hsl(235, 84%, 26%) 100%); +} +section#mid #timers #timers-menu ul li .front { + display: block; + position: relative; + padding: 12px 42px; + color: white; + background: hsl(188, 88%, 29%); + will-change: transform; + transform: translateY(-4px); + transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1); +} +section#mid #timers #timers-menu ul li .pushable:hover { + filter: brightness(110%); +} +section#mid #timers #timers-menu ul li .pushable:hover .front { + transform: translateY(-6px); + transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5); +} +section#mid #timers #timers-menu ul li .pushable:active .front { + transform: translateY(-2px); + transition: transform 34ms; +} +section#mid #timers #timers-menu ul li .pushable:hover .shadow { + transform: translateY(4px); + transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5); +} +section#mid #timers #timers-menu ul li .pushable:active .shadow { + transform: translateY(1px); + transition: transform 34ms; +} +section#mid #timers #timers-menu ul li .pushable:focus:not(:focus-visible) { + outline: none; +} +section#mid #timers #timers-menu ul li .pushable-f .front, +section#mid #timers #timers-menu ul li .pushable-f .edge, +section#mid #timers #timers-menu ul li .pushable-f .shadow { + border-top-left-radius: 13px; + border-bottom-left-radius: 13px; +} +section#mid #timers #timers-menu ul li .pushable-f .edge { + background: linear-gradient(to left, hsl(235, 84%, 26%) 0%, hsl(235, 84%, 26%) 8%, hsl(235, 84%, 26%) 92%, hsl(193, 100%, 30%) 100%); +} +section#mid #timers #timers-menu ul li .pushable-l .front, +section#mid #timers #timers-menu ul li .pushable-l .edge, +section#mid #timers #timers-menu ul li .pushable-l .shadow { + border-top-right-radius: 13px; + border-bottom-right-radius: 13px; +} +section#mid #timers #timers-menu ul li .pushable-l .edge { + background: linear-gradient(to left, hsl(193, 100%, 30%) 0%, hsl(235, 84%, 26%) 8%, hsl(235, 84%, 26%) 92%, hsl(235, 84%, 26%) 100%); +} +section#mid #timers #timers-menu ul li .front { + font-size: medium; + font-weight: 500; +} +section#mid #timers #stopwatch { + display: none; + flex-direction: column; +} +section#mid #timers #stopwatch .timer { + font-size: 100px; + display: flex; + align-self: center; +} +section#mid #timers #stopwatch .timer .min, +section#mid #timers #stopwatch .timer .sec, +section#mid #timers #stopwatch .timer .msec { + width: 10vw; +} +section#mid #timers #timer { + display: none; + flex-direction: column; +} +section#mid #timers #timer .timer { + font-size: xx-large; +} +section#mid #yemek-listesi { + display: none; + flex-direction: column; +} +section#mid #animations { + display: none; + flex-direction: column; +} +section#bottom { + margin-top: auto; +} +section#bottom #rainbow { + width: 100%; + height: 20px; + animation: rain 4.72s ease infinite; +} + +.kronometre { + text-align: center; + margin: auto; + font-size: 50px; +} + +/*# sourceMappingURL=main.css.map */ diff --git a/iflpanel/tahta/assets/css/main.css.map b/iflpanel/tahta/assets/css/main.css.map new file mode 100644 index 0000000..dff5235 --- /dev/null +++ b/iflpanel/tahta/assets/css/main.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../scss/main.scss","../scss/_animation.scss","../scss/_button.scss"],"names":[],"mappings":";AAAA;ACAA;AAEA;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;ADZJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;;;AAMA;EACE;EACA;EACA;EAEA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAWZ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGE;EACE;EACA;EACA;;AAEA;EAEE;EACA;;AEnKV;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA,YACE;;AAGJ;EACE;EACA;EACA;EACA;EACA;EAEA;;AAOF;EACE;EACA;EACA;EAGA;EACA;EACA;EACA;EACA,YACE;;AAGJ;EACE;;AAGF;EACE;EACA,YACE;;AAGJ;EACE;EACA;;AAGF;EACE;EACA,YACE;;AAGJ;EACE;EACA;;AAGF;EACE;;AAKA;AAAA;AAAA;EAGE;EACA;;AAGF;EACE;;AAUF;AAAA;AAAA;EAIE;EACA;;AAGF;EACE;;AFwDM;EACE;EACA;;AAOR;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAEA;AAAA;AAAA;EAGE;;AAKN;EACE;EACA;;AAEA;EACE;;AAMN;EACE;EACA;;AAGF;EACE;EACA;;AAMJ;EACE;;AAEA;EACE;EACA;EACA;;;AAKN;EACE;EACA;EACA","file":"main.css"} \ No newline at end of file diff --git a/iflpanel/tahta/assets/js/dev.js b/iflpanel/tahta/assets/js/dev.js new file mode 100644 index 0000000..47acc79 --- /dev/null +++ b/iflpanel/tahta/assets/js/dev.js @@ -0,0 +1,2 @@ +// 2023 © Aliberk Sandıkçı +// Temporary Development File \ No newline at end of file diff --git a/iflpanel/tahta/assets/js/initialize.js b/iflpanel/tahta/assets/js/initialize.js new file mode 100644 index 0000000..84ef7e4 --- /dev/null +++ b/iflpanel/tahta/assets/js/initialize.js @@ -0,0 +1,120 @@ +// 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; + } + } + }); +} + + diff --git a/iflpanel/tahta/assets/js/old_main.js b/iflpanel/tahta/assets/js/old_main.js new file mode 100644 index 0000000..754fdb1 --- /dev/null +++ b/iflpanel/tahta/assets/js/old_main.js @@ -0,0 +1,139 @@ +// 2023 Aliberk Sandıkçı + +// VARIABLES +var FlagSecond = 0; +var FlagSettings = 0; +var FlagTimers = 1; +var MidItems = ["timers", "stopwatch", "timer", "yemek-listesi", "animations"] + +// RUN FUNCTIONS ON START +updateTime(); +if (FlagSettings) { toggleSettings() } +if (FlagTimers) { toggleTimers() } + +// RUN FUNCTIONS PERIODICALLY +var t = setInterval(updateTime, 1000); + + +// +// MAIN FUNCTIONS +// + +function updateTime() { + var d = new Date(); + var curHour = getDigits(d.getHours(), 2); + var curMin = getDigits(d.getMinutes(), 2); + var curSeconds = getDigits(d.getSeconds(), 2); + + if (FlagSecond) { + document.getElementById("time").innerHTML = curHour + "." + curMin + "." + curSeconds; + } else { + document.getElementById("time").innerHTML = curHour + "." + curMin; + } + + if (curHour == 12 && (curMin >= 24 && curMin <= 30)) { + document.getElementById("time").style.color = "red"; + document.getElementById("rainbow").style.display = "inherit"; + } else { + document.getElementById("time").style.color = "inherit"; + document.getElementById("rainbow").style.display = "none"; + } +} + +function toggleClockSeconds() { + let chx = document.getElementById("chx-clockSecond"); + if (chx.checked) { + FlagSecond = 1; + } else { + FlagSecond = 0; + } + updateTime(); +} + +function toggleDevVersion() { + let chx = document.getElementById("chx-devVersion"); + if (chx.checked) { + window.location.replace("dev.html" + window.location.search); + } else { + window.location.replace("index.html" + window.location.search); + } +} + +function toggleSettings() { + let settings = document.getElementById("settings"); + console.log(settings.style.display); + if (settings.style.display == "flex") { + settings.style.display = "none"; + } else { + settings.style.display = "flex"; + } +} + +function toggleTimers(typ = "display") { + switch (typ) { + case "stopwatch": + hideMidAll("stopwatch", "timers"); + toggleItem("id", "stopwatch"); + break; + case "timer": + hideMidAll("timer", "timers"); + toggleItem("id", "timer"); + break; + default: // "display" + hideMidAll("timers"); + toggleItem("id", "timers"); + break; + } +} + +function toggleYemekListesi() { + hideMidAll("yemek-listesi"); + toggleItem("id", "yemek-listesi"); +} + +function toggleAnimations() { + hideMidAll("animations"); + toggleItem("id", "animations"); +} + + +// ----------------------------------------- +// UTILITIES +// + +function getDigits(str, num) { + return ("0" + str).slice(-num); +} + +/** + * + * @param {...any} except + */ +function hideMidAll(...except) { + MidItems.forEach(element => { + if (!except.includes(element)) { + document.getElementById(element).style.display = "none"; + } + }); +} + +/** type: id, class + * + * name: id or class name + */ +function toggleItem(type, name) { + switch (type) { + case "id": + let item = document.getElementById(name); + if (item.style.display == "flex") { + item.style.display = "none"; + } else { + item.style.display = "flex"; + } + break; + + default: + console.error("no toggle item except ids!"); + break; + } +} \ No newline at end of file diff --git a/iflpanel/tahta/assets/js/old_stopwatch.js b/iflpanel/tahta/assets/js/old_stopwatch.js new file mode 100644 index 0000000..1f51c49 --- /dev/null +++ b/iflpanel/tahta/assets/js/old_stopwatch.js @@ -0,0 +1,91 @@ +var curAction = "wait"; +var previousAction = "wait" +var startTime = new Date(); +var curTime = new Date(); +var timeMS = 0; +var FlagMilisecond = 1; +var timer = document.getElementById("stopwatch").getElementsByClassName("timer")[0]; + +tick(); + +// NOT OPTIMIZED, place in start switch +var t = setInterval(tick, 10); + + + +function Stopwatch(action) { + switch (action) { + case "start": + console.log("start function started"); + if (previousAction == "start") { break; } + startTime = new Date(); + curAction = "increase"; + tick(); + previousAction = "start"; + break; + case "stop": + curAction = "stop"; + tick(); + previousAction = "stop"; + break; + + default: + // console.error("no action (old script)"); + break; + } +} + +function updateMsec() { + timer.getElementsByClassName("msec")[0].innerHTML = getDigits(Math.floor((timeMS / 10) % 100), 2); +} + +function updateSec() { + timer.getElementsByClassName("sec")[0].innerHTML = getDigits(Math.floor((timeMS / 1000) % 60), 2); +} + +function updateMin() { + timer.getElementsByClassName("min")[0].innerHTML = getDigits(Math.floor((timeMS / 1000 / 60) << 0), 2); +} + + +function getDigits(str, num) { + return ("0" + str).slice(-num); +} + +function tick() { + switch (curAction) { + case "increase": + curTime = new Date(); + timeMS = (curTime.getTime() - startTime.getTime()); + if (FlagMilisecond) { + updateMsec(); + } + updateSec(); + updateMin(); + break; + case "stop": + timer.getElementsByClassName("min")[0].innerHTML = "00"; + timer.getElementsByClassName("sec")[0].innerHTML = "00"; + timer.getElementsByClassName("msec")[0].innerHTML = "00"; + curAction = "wait"; + previousAction = "stop" + break; + default: + // console.error("no action (old script)"); + break; + } +} + +function toggleTimerMsec() { + let chx = document.getElementById("chx-timerMsec"); + if (chx.checked) { + FlagMilisecond = 1; + timer.getElementsByClassName("msec")[0].style.display = "flex"; + document.getElementById("stopwatch-msec-dot").style.display = "flex"; + } else { + FlagMilisecond = 0; + timer.getElementsByClassName("msec")[0].style.display = "none"; + document.getElementById("stopwatch-msec-dot").style.display = "none"; + } + tick(); +} \ No newline at end of file diff --git a/iflpanel/tahta/assets/js/timers.js b/iflpanel/tahta/assets/js/timers.js new file mode 100644 index 0000000..307dc3a --- /dev/null +++ b/iflpanel/tahta/assets/js/timers.js @@ -0,0 +1,81 @@ +// OLD TIMER SCRIPT !!! + + +var curAction = "wait"; +var previousAction = "wait" +var startTime = new Date(); +var curTime = new Date(); +var timeMS = 0; +var FlagMilisecond = 1; +var timer = document.getElementById("stopwatch").getElementsByClassName("timer")[0]; + +tick(); + +// NOT OPTIMIZED, place in start switch +var t = setInterval(tick, 10); + + + +function Stopwatch(action) { + switch (action) { + case "start": + console.log("start function started"); + if (previousAction == "start") { break; } + startTime = new Date(); + curAction = "increase"; + tick(); + previousAction = "start"; + break; + case "stop": + curAction = "stop"; + tick(); + previousAction = "stop"; + break; + + default: + console.warn("Stopwatch() is working, possible unoptimized, WIP!"); + break; + } +} + +function updateMsec() { + timer.getElementsByClassName("msec")[0].innerHTML = getDigits(Math.floor((timeMS / 10) % 100), 2); +} + +function updateSec() { + timer.getElementsByClassName("sec")[0].innerHTML = getDigits(Math.floor((timeMS / 1000) % 60), 2); +} + +function updateMin() { + timer.getElementsByClassName("min")[0].innerHTML = getDigits(Math.floor((timeMS / 1000 / 60) << 0), 2); +} + + +// no need, already in utils.js +// function getDigits(str, num) { +// return ("0" + str).slice(-num); +// } + +function tick() { + switch (curAction) { + case "increase": + curTime = new Date(); + timeMS = (curTime.getTime() - startTime.getTime()); + if (confs.get('timerMsec') == "1") { + updateMsec(); + } + updateSec(); + updateMin(); + break; + case "stop": + timer.getElementsByClassName("min")[0].innerHTML = "00"; + timer.getElementsByClassName("sec")[0].innerHTML = "00"; + timer.getElementsByClassName("msec")[0].innerHTML = "00"; + curAction = "wait"; + previousAction = "stop" + break; + default: + console.warn("tick() is working, possible unoptimized, WIP!"); + break; + } +} diff --git a/iflpanel/tahta/assets/js/updates.js b/iflpanel/tahta/assets/js/updates.js new file mode 100644 index 0000000..8b4e841 --- /dev/null +++ b/iflpanel/tahta/assets/js/updates.js @@ -0,0 +1,47 @@ +/** + * Update components with conf variables each second + */ +function updateComponents() { + setToID("time", updateTime()); + + if (curHour == 12 && (curMin >= 24 && curMin <= 30)) { + document.getElementById("time").style.color = "red"; + document.getElementById("rainbow").style.display = "inherit"; + } else { + document.getElementById("time").style.color = "inherit"; + document.getElementById("rainbow").style.display = "none"; + } + + let timer = document.getElementById("stopwatch").getElementsByClassName("timer")[0]; + if (confs.get("timerMsec") == 1) { + timer.getElementsByClassName("msec")[0].style.display = "flex"; + document.getElementById("stopwatch-msec-dot").style.display = "flex"; + } else { + timer.getElementsByClassName("msec")[0].style.display = "none"; + document.getElementById("stopwatch-msec-dot").style.display = "none"; + } +} + +function updateTime() { + var d = new Date(); + curHour = getDigits(d.getHours(), 2); + curMin = getDigits(d.getMinutes(), 2); + curSeconds = getDigits(d.getSeconds(), 2); + + if (confs.get("clockSecond") == "1") { + return curHour + "." + curMin + "." + curSeconds; + } else { + return curHour + "." + curMin; + } +} + +function DEVupdateSettings() { + let devData = + "confs: " + JSON.stringify(confs, (key, value) => (value instanceof Map ? [...value] : value)) + "
" + + "schoolPeriods: " + JSON.stringify(schoolPeriods, (key, value) => (value instanceof Map ? [...value] : value)) + "
" + + "specialPeriods: " + JSON.stringify(specialPeriods, (key, value) => (value instanceof Map ? [...value] : value)) + "
" + + "info: " + navigator.userAgent + "
" + + "local-settings:" + (urlParams = new URLSearchParams(window.location.search)) + "
"; + + document.getElementById("DEV").innerHTML = devData; +} \ No newline at end of file diff --git a/iflpanel/tahta/assets/js/utils.js b/iflpanel/tahta/assets/js/utils.js new file mode 100644 index 0000000..5d4ce75 --- /dev/null +++ b/iflpanel/tahta/assets/js/utils.js @@ -0,0 +1,130 @@ +function getDigits(str, num) { + return ("0" + str).slice(-num); +} + +/** + * + * @param {Object} obj + * @param {URLSearchParams} params + */ +function addObjectToConfig(obj, params) { + Object.entries(obj).forEach(element => { + const [key, value] = element; + if (params == 1) { + confs.set(key, value); + } + else if (params.has(key)) { + confs.set(key, params.get(key)); + } + }); +} + +/** + * + * @param {Array} arr + * @param {URLSearchParams} params + */ +function addArrayToConfig(arr, params) { + arr.forEach(element => { + if (params.has(element)) { + confs.set(element, params.get(element)); + } + }); +} + +/** + * + * @param {string} id id to be updated + * @param {string} config config to update with + * @param {any} type type + */ +function setToID(id, config, type = 0) { + let obj = document.getElementById(id) + if (obj.innerHTML != config && type == 0) { + document.getElementById(id).innerHTML = config; + } else if (typeof type === 'string') { + if (config == type) { + document.getElementById(id).innerHTML = "" + config + ""; + } else if (config != type) { + document.getElementById(id).innerHTML = config; + } + } +} + +/** + * Hides all elements with matching id in a list + * @param {Array} elements element ids to hide + * @param {...any} except hide elements except these + */ +function hideAllExcept(elements, ...except) { + elements.forEach(element => { + if (!except.includes(element)) { + document.getElementById(element).style.display = "none"; + } + }); +} + +/** + * @param {String} type id or class for getting elements to toggle + * @param {String} name id or class name + * @param {String} display display type, defaults to flex + */ +function toggleItemDisplay(type, name = "no", display = "flex") { + switch (type) { + case "auto": + if (name == "no") { + // console.log(1, event.srcElement.id); // DEPRECATED ! + console.alert('dont use type auto for item display! WIP') + // get id with button/checkbox name! and auto detect + } + break; + case "id": + let item = document.getElementById(name); + if (item.style.display == display) { + item.style.display = "none"; + } else { + item.style.display = display; + } + if (midItems.includes(name)) { + hideAllExcept(midItems, name); + } else if (timersItems.includes(name)) { + hideAllExcept(timersItems, name); + } + break; + default: + console.error("no toggle item except ids!"); + break; + } +} + +function toggleConf(type, name = "no") { + switch (type) { + case "auto": + // AUTO DETECT type, id etc. + alert("dont use auto for toggleConf"); + break; + case "id-chx": + if (name != "no") { + let chx = document.getElementById("chx-" + name); + if (chx.checked) { + confs.set(name, 1); + } else { + confs.set(name, 0); + } + } + break; + default: + console.error("unvalid type"); + break; + } +} + +function toggleDevVersion() { + let chx = document.getElementById("chx-devVersion"); + + if (chx.checked) { + window.location.replace("dev.html" + window.location.search); + } else { + window.location.replace("index.html" + window.location.search); + } +} \ No newline at end of file diff --git a/iflpanel/tahta/assets/scss/_animation.scss b/iflpanel/tahta/assets/scss/_animation.scss new file mode 100644 index 0000000..4783659 --- /dev/null +++ b/iflpanel/tahta/assets/scss/_animation.scss @@ -0,0 +1,19 @@ +/* 2023 Aliberk Sandıkçı*/ + +@keyframes rain { + 0% { + background-color: white; + } + + 25% { + background-color: red; + } + + 50% { + background-color: green; + } + + 100% { + background-color: yellow; + } +} \ No newline at end of file diff --git a/iflpanel/tahta/assets/scss/_button.scss b/iflpanel/tahta/assets/scss/_button.scss new file mode 100644 index 0000000..c57f944 --- /dev/null +++ b/iflpanel/tahta/assets/scss/_button.scss @@ -0,0 +1,122 @@ +// CREDIT: https://www.joshwcomeau.com/animation/3d-button/ + +@mixin button-effect { + .pushable { + position: relative; + border: none; + background: transparent; + padding: 0; + cursor: pointer; + outline-offset: 4px; + transition: filter 250ms; + } + + .shadow { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + // border-radius: 12px; + background: hsl(0deg 0% 0% / 0.25); + will-change: transform; + transform: translateY(2px); + transition: + transform 600ms cubic-bezier(.3, .7, .4, 1); + } + + .edge { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + // border-radius: 12px; + background: linear-gradient(to left, + hsl(235, 84%, 26%) 0%, + hsl(235, 84%, 26%) 8%, + hsl(235, 84%, 26%) 92%, + hsl(235, 84%, 26%) 100%); + } + + .front { + display: block; + position: relative; + padding: 12px 42px; + // border-radius: 12px; + // font-size: 1.25rem; + color: white; + background: hsl(188, 88%, 29%); + will-change: transform; + transform: translateY(-4px); + transition: + transform 600ms cubic-bezier(.3, .7, .4, 1); + } + + .pushable:hover { + filter: brightness(110%); + } + + .pushable:hover .front { + transform: translateY(-6px); + transition: + transform 250ms cubic-bezier(.3, .7, .4, 1.5); + } + + .pushable:active .front { + transform: translateY(-2px); + transition: transform 34ms; + } + + .pushable:hover .shadow { + transform: translateY(4px); + transition: + transform 250ms cubic-bezier(.3, .7, .4, 1.5); + } + + .pushable:active .shadow { + transform: translateY(1px); + transition: transform 34ms; + } + + .pushable:focus:not(:focus-visible) { + outline: none; + } + + .pushable-f { + + .front, + .edge, + .shadow { + border-top-left-radius: 13px; + border-bottom-left-radius: 13px; + } + + .edge { + background: linear-gradient(to left, + hsl(235, 84%, 26%) 0%, + hsl(235, 84%, 26%) 8%, + hsl(235, 84%, 26%) 92%, + hsl(193, 100%, 30%) 100%); + } + } + + .pushable-l { + + .front, + .edge, + .shadow { + + border-top-right-radius: 13px; + border-bottom-right-radius: 13px; + } + + .edge { + background: linear-gradient(to left, + hsl(193, 100%, 30%) 0%, + hsl(235, 84%, 26%) 8%, + hsl(235, 84%, 26%) 92%, + hsl(235, 84%, 26%) 100%); + } + } +} \ No newline at end of file diff --git a/iflpanel/tahta/assets/scss/dev.scss b/iflpanel/tahta/assets/scss/dev.scss new file mode 100644 index 0000000..2358c9c --- /dev/null +++ b/iflpanel/tahta/assets/scss/dev.scss @@ -0,0 +1,22 @@ +/* 2023 Aliberk Sandıkçı*/ + +#ders-programi { + display: none; + flex-direction: column; + padding: 0px 100px; + padding-top: 10px; + + img { + max-width: 1309px; + max-height: 601px; + aspect-ratio: 1309/601; + } +} + +.min, +.sec, +.msec { + display:flex; + width: 7vw; + justify-content: center; +} \ No newline at end of file diff --git a/iflpanel/tahta/assets/scss/main.scss b/iflpanel/tahta/assets/scss/main.scss new file mode 100644 index 0000000..752a40f --- /dev/null +++ b/iflpanel/tahta/assets/scss/main.scss @@ -0,0 +1,236 @@ +/* 2023 Aliberk Sandıkçı*/ +@use "button" as b; +@use "animation" as a; + +* { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: default; +} + +body, +html { + display: flex; + flex-direction: column; + + margin: 0px; + height: 100%; + width: 100%; + + background-color: black; + color: aliceblue; + font-family: "Montserrat", Arial, Helvetica, sans-serif; +} + +section { + + // SECTION TOP + &#top { + display: flex; + justify-content: space-around; + user-select: none; + + width: 100%; + height: 100px; + + .class { + margin: 5px; + min-width: 20vw; + margin-right: auto; + font-weight: 800; + font-style: oblique; + } + + .clock { + display: flex; + + #time { + display: flex; + + //UNNECESSARY LINES? + align-items: center; + align-self: center; + align-content: center; + justify-items: center; + justify-self: center; + justify-content: center; + font-size: 80px; + } + } + + .settings-box { + min-width: 20vw; + margin-left: auto; + text-align: right; + + button { + height: 30px; + width: 30px; + line-height: 20px; + } + + #settings { + display: none; + flex-direction: column; + align-items: end; + font-size: small; + margin-top: 5px; + + + form { + display: flex; + flex-direction: column; + position: relative; + background-color: grey; + + .cell { + float: left; + display: flex; + flex-direction: row; + margin-bottom: 1vh; + + input[type="checkbox"] { + //UNNECESSARY LINES? + appearance: none; + background-color: #fff; + margin: 0; + width: 1.15em; + height: 1.15em; + border: 0.15em solid darkslateblue; + border-radius: 0.15em; + transform: translateY(-0.075em); + display: grid; + place-content: center; + outline: 0px solid white; + outline-offset: 0px; + + &::before { + //UNNECESSARY LINES? + content: ""; + width: 0.65em; + height: 0.65em; + transform: scale(0); + transition: 120ms transform ease-in-out; + box-shadow: inset 1em 1em green; + transform-origin: bottom left; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); + } + + &:checked::before { + transform: scale(1); + } + + &:focus { + outline: max(2px, 0.15em) solid white; + outline-offset: max(2px, 0.15em); + } + } + + label { + padding-left: 5px; + display: block; + text-align: left; + align-self: center; + } + } + } + + + } + } + } + + // SECTION MID + &#mid { + display: flex; + flex-direction: column; + text-align: center; + user-select: none; + + #timers { + display: none; + flex-direction: column; + + #timers-menu { + ul { + display: flex; + justify-content: center; + padding: 0; + + li { + // padding: 1px; + list-style-type: none; + box-sizing: border-box; + + @include b.button-effect; + + .front { + font-size: medium; + font-weight: 500; + } + } + } + + } + + #stopwatch { + display: none; + flex-direction: column; + + .timer { + font-size: 100px; + display: flex; + align-self: center; + + .min, + .sec, + .msec { + width: 10vw; + } + } + } + + #timer { + display: none; + flex-direction: column; + + .timer { + font-size: xx-large; + } + } + + } + + #yemek-listesi { + display: none; + flex-direction: column; + } + + #animations { + display: none; + flex-direction: column; + } + + } + + // SECTION BOTTOM + &#bottom { + margin-top: auto; + + #rainbow { + width: 100%; + height: 20px; + animation: rain 4.72s ease infinite; + } + } +} + +.kronometre { + text-align: center; + margin: auto; + font-size: 50px; +} \ No newline at end of file diff --git a/iflpanel/tahta/dev.html b/iflpanel/tahta/dev.html new file mode 100644 index 0000000..21dac80 --- /dev/null +++ b/iflpanel/tahta/dev.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + DEV VERSION | iflpanel Tahta + + + + +
+
+ Sınıf + Şube + + + (DEV VERSION) + +
+ +
+

12.00

+
+
+
+ + + + + + + + + +
+
+
+
+ + +
+
+ + +
+
+ + + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ +
+ + +
+
+
+
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+ 00 +
+ . +
+ 00 +
+ . +
+ 00 +
+
+
+ + +
+
+ +
+
+ 00.00.00 +
+

yapım aşamasında: geriye doğru sayma özelliği

+
+ +
+ +
+ + yapım aşamasında: yemekhane listesi eklenecek +
+ +
+ +
+ +
+ yapım aşamasında: animasyonlar / oyunlar eklenecek +
+
+ + +
+
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/iflpanel/tahta/image.png b/iflpanel/tahta/image.png new file mode 100644 index 0000000000000000000000000000000000000000..2cddc291c88190ab20ecb72b56050240c2a75aef GIT binary patch literal 111019 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 WkI;emSjQ>=0000 + + + + + + + + + + + + + + + + + iflpanel Tahta + + + + +
+
+ 12 + C +
+ +
+

12.00

+
+
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ +
+ + +
+
+
+
    +
  • + +
  • +
+
+
+
+
+ 00 +
+ . +
+ 00 +
+ . +
+ 00 +
+
+
+ + +
+
+ +
+
+ 00.00.00 +
+

yapım aşamasında: geriye doğru sayma özelliği

+
+ +
+ +
+ yapım aşamasında: yemekhane listesi eklenecek +
+ +
+ yapım aşamasında: animasyonlar / oyunlar eklenecek +
+
+ + +
+
+
+ + + + + \ No newline at end of file