feat: UI enhancements, exam mode
- fullscreen toggle - Largen Clock toggle - Hide Tools toggle - Exam Mode
This commit is contained in:
parent
d1ed8ef9fa
commit
5636088690
5 changed files with 205 additions and 20 deletions
|
@ -67,10 +67,21 @@ section#top .clock #time {
|
|||
justify-content: center;
|
||||
font-size: 80px;
|
||||
}
|
||||
section#top .settings-box {
|
||||
section#top .toolbox {
|
||||
min-width: 20vw;
|
||||
margin-left: auto;
|
||||
text-align: right;
|
||||
display: block;
|
||||
}
|
||||
section#top .toolbox button {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
line-height: 20px;
|
||||
}
|
||||
section#top .settings-box {
|
||||
min-width: min-content;
|
||||
margin-left: 0;
|
||||
text-align: right;
|
||||
}
|
||||
section#top .settings-box button {
|
||||
height: 30px;
|
||||
|
@ -87,7 +98,8 @@ section#top .settings-box #settings {
|
|||
section#top .settings-box #settings form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
position: absolute;
|
||||
min-width: 10vw;
|
||||
background-color: grey;
|
||||
}
|
||||
section#top .settings-box #settings form .cell {
|
||||
|
|
|
@ -1 +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;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;;AEtKV;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;;AF2DM;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"}
|
||||
{"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;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;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;;AEpLV;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;;AFyEM;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"}
|
|
@ -5,6 +5,9 @@ var FlagSecond = 0;
|
|||
var FlagSettings = 0;
|
||||
var FlagTimers = 1;
|
||||
var FlagExtras = 1;
|
||||
var FlagTools = 1;
|
||||
var FlagFullscreen = 0;
|
||||
var FlagLargenClock = 0;
|
||||
var MidItems = ["timers", "stopwatch", "timer", "yemek-listesi", "animations"]
|
||||
|
||||
// RUN FUNCTIONS ON START
|
||||
|
@ -32,7 +35,7 @@ function updateTime() {
|
|||
document.getElementById("time").innerHTML = curHour + "." + curMin;
|
||||
}
|
||||
|
||||
if (curHour == 12 && (curMin >= 24 && curMin <= 30)) {
|
||||
if (curHour == 12 && (curMin >= 24 && curMin <= 30) && FlagExtras == 1) {
|
||||
document.getElementById("time").style.color = "red";
|
||||
document.getElementById("rainbow").style.display = "inherit";
|
||||
} else {
|
||||
|
@ -109,6 +112,66 @@ function toggleExtra() {
|
|||
|
||||
}
|
||||
|
||||
function toggleTools() {
|
||||
let chx = document.getElementById("chx-closeTools");
|
||||
if (chx.checked) {
|
||||
FlagTools = 0;
|
||||
} else {
|
||||
FlagTools = 1;
|
||||
}
|
||||
updateToolVisibility();
|
||||
}
|
||||
|
||||
function toggleFullscreen() {
|
||||
let chx = document.getElementById("chx-fullscreen");
|
||||
if (chx.checked) {
|
||||
FlagFullscreen = 1;
|
||||
} else {
|
||||
FlagFullscreen = 0;
|
||||
}
|
||||
updateFullscreen();
|
||||
}
|
||||
|
||||
function toggleLargenClock() {
|
||||
let chx = document.getElementById("chx-largenClock");
|
||||
if (chx.checked) {
|
||||
FlagLargenClock = 1;
|
||||
} else {
|
||||
FlagLargenClock = 0;
|
||||
}
|
||||
updateClockSize();
|
||||
}
|
||||
|
||||
function toggleExamMode() {
|
||||
let chx = document.getElementById("chx-examMode");
|
||||
if (chx.checked) {
|
||||
document.getElementById("chx-largenClock").checked = true;
|
||||
document.getElementById("chx-closeExtra").checked = true;
|
||||
document.getElementById("chx-clockSecond").checked = true;
|
||||
document.getElementById("chx-closeTools").checked = true;
|
||||
// document.getElementById("chx-fullscreen").checked = true;
|
||||
// toggleFullscreen();
|
||||
// FIXME Try, if not works open new tab and make fullscreen automatically, when exiting fullscreen actually close tab !!!
|
||||
toggleExtra();
|
||||
toggleLargenClock();
|
||||
toggleClockSeconds();
|
||||
toggleTools();
|
||||
document.getElementById("header-note").style.display = "block";
|
||||
} else {
|
||||
document.getElementById("chx-largenClock").checked = false;
|
||||
document.getElementById("chx-closeExtra").checked = false;
|
||||
document.getElementById("chx-clockSecond").checked = false;
|
||||
document.getElementById("chx-closeTools").checked = false;
|
||||
// document.getElementById("chx-fullscreen").checked = false;
|
||||
// toggleFullscreen();
|
||||
toggleExtra();
|
||||
toggleLargenClock();
|
||||
toggleClockSeconds();
|
||||
toggleTools();
|
||||
document.getElementById("header-note").style.display = "none";
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------
|
||||
// UTILITIES
|
||||
//
|
||||
|
@ -129,27 +192,84 @@ function hideMidAll(...except) {
|
|||
});
|
||||
}
|
||||
|
||||
/** type: id, class
|
||||
*
|
||||
* name: id or class name
|
||||
/**
|
||||
* @param type id, class
|
||||
* @param name id or class name
|
||||
* @param display display type
|
||||
*/
|
||||
function toggleItem(type, name) {
|
||||
function toggleItem(type, name, display = "default") {
|
||||
switch (type) {
|
||||
case "id":
|
||||
let item = document.getElementById(name);
|
||||
if (item.style.display == "flex") {
|
||||
|
||||
// TODO AUTO display type recognizer, do not require to type display type
|
||||
|
||||
var targetDisplay = "flex";
|
||||
switch (display) {
|
||||
case "absolute":
|
||||
targetDisplay = "absolute";
|
||||
break;
|
||||
case "block":
|
||||
targetDisplay = "block";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
var item = document.getElementById(name);
|
||||
if (item.style.display == targetDisplay) {
|
||||
item.style.display = "none";
|
||||
} else {
|
||||
item.style.display = "flex";
|
||||
item.style.display = targetDisplay;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
console.error("no toggle item except ids!");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function updateFullscreen() {
|
||||
var elem = document.documentElement;
|
||||
if (FlagFullscreen) {
|
||||
console.warn("FULLSCREEN");
|
||||
/* View in fullscreen */
|
||||
|
||||
if (elem.requestFullscreen) {
|
||||
elem.requestFullscreen();
|
||||
} else if (elem.webkitRequestFullscreen) { /* Safari */
|
||||
elem.webkitRequestFullscreen();
|
||||
} else if (elem.msRequestFullscreen) { /* IE11 */
|
||||
elem.msRequestFullscreen();
|
||||
}
|
||||
|
||||
} else {
|
||||
/* Close fullscreen */
|
||||
|
||||
if (document.exitFullscreen) {
|
||||
document.exitFullscreen();
|
||||
} else if (document.webkitExitFullscreen) { /* Safari */
|
||||
document.webkitExitFullscreen();
|
||||
} else if (document.msExitFullscreen) { /* IE11 */
|
||||
document.msExitFullscreen();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function updateToolVisibility() {
|
||||
var item = document.getElementsByClassName("settings-box")[0];
|
||||
if (FlagTools) {
|
||||
document.getElementById("toolbox").style.display = "block";
|
||||
item.style.marginLeft = "0px";
|
||||
item.style.minWidth = "min-content";
|
||||
} else {
|
||||
hideMidAll();
|
||||
document.getElementById("toolbox").style.display = "none";
|
||||
item.style.marginLeft = "auto";
|
||||
item.style.minWidth = "20vw";
|
||||
}
|
||||
}
|
||||
|
||||
function updateExtras() {
|
||||
var arr = document.getElementsByClassName("extraItem");
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
|
@ -161,4 +281,19 @@ function updateExtras() {
|
|||
element.style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function updateClockSize() {
|
||||
let clock = document.getElementById("time");
|
||||
let top = document.getElementById("top");
|
||||
if (FlagLargenClock) {
|
||||
document.getElementById("clock-divider").style.display = "none";
|
||||
clock.style.fontSize="200px";
|
||||
top.style.height="max-content";
|
||||
|
||||
} else {
|
||||
document.getElementById("clock-divider").style.display = "block";
|
||||
clock.style.fontSize="80px";
|
||||
top.style.height="100px";
|
||||
}
|
||||
}
|
|
@ -65,10 +65,23 @@ section {
|
|||
}
|
||||
}
|
||||
|
||||
.settings-box {
|
||||
.toolbox {
|
||||
min-width: 20vw;
|
||||
margin-left: auto;
|
||||
text-align: right;
|
||||
display: block;
|
||||
|
||||
button {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.settings-box {
|
||||
min-width: min-content;
|
||||
margin-left: 0;
|
||||
text-align: right;
|
||||
|
||||
button {
|
||||
height: 30px;
|
||||
|
@ -87,7 +100,8 @@ section {
|
|||
form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
position: absolute;
|
||||
min-width: 10vw;
|
||||
background-color: grey;
|
||||
|
||||
.cell {
|
||||
|
|
|
@ -31,15 +31,23 @@
|
|||
<div style="display:flex; align-content: center; align-items: center; margin-top: 10px;" class="extraItem">
|
||||
<a href="https://asandikci.com/bagis/" target="_blank"><img src="assets/images/bagis-qr.png" width="50"></a>
|
||||
<p style="align-self: center; font-style: normal; text-align: center; font-size: small;"> 👈
|
||||
Geliştirme sürecine destek verin<br> (Sıradaki: <span style="width: min-content; font-size: x-small;"id="sirada-yapilacaklar"></span>) </p>
|
||||
Geliştirme sürecine destek verin<br> (Sıradaki: <span
|
||||
style="width: min-content; font-size: x-small;" id="sirada-yapilacaklar"></span>) </p>
|
||||
</div>
|
||||
<div id="header-note" style="display:none;">
|
||||
Başarılar
|
||||
</div>
|
||||
</div>
|
||||
<div class="clock">
|
||||
<h1 id="time">12.00</h1>
|
||||
</div>
|
||||
<div class="settings-box">
|
||||
<div class="toolbox" id="toolbox">
|
||||
<form>
|
||||
<button id="timers-button" type="button" onmouseover="toggleTimers()" onclick="toggleTimers()">⏱</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="settings-box">
|
||||
<form>
|
||||
<button id="settings-button" type="button" onmouseover="toggleSettings()" onclick="toggleSettings()">⚙</button>
|
||||
</form>
|
||||
<div id="settings">
|
||||
|
@ -58,14 +66,30 @@
|
|||
</div>
|
||||
<div class="cell">
|
||||
<input type="checkbox" id="chx-closeExtra" onchange="toggleExtra()">
|
||||
<label for="chx-devVersion">Ekstra Bildirimleri Kapatın</label>
|
||||
<label for="chx-closeExtra">Ekstra Bildirimleri Kapatın</label>
|
||||
</div>
|
||||
<div class="cell">
|
||||
<input type="checkbox" id="chx-closeTools" onchange="toggleTools()">
|
||||
<label for="chx-closeTools">Araç Çubuğunu Gizle</label>
|
||||
</div>
|
||||
<div class="cell">
|
||||
<input type="checkbox" id="chx-largenClock" onchange="toggleLargenClock()">
|
||||
<label for="chx-largenClock">Saati Büyült</label>
|
||||
</div>
|
||||
<div class="cell">
|
||||
<input type="checkbox" id="chx-fullscreen" onchange="toggleFullscreen()">
|
||||
<label for="chx-fullscreen">Tam Ekran</label>
|
||||
</div>
|
||||
<div class="cell">
|
||||
<input type="checkbox" id="chx-examMode" onchange="toggleExamMode()">
|
||||
<label for="chx-examMode"><b style="color:red;">Sınav Modu</b></label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr style="width: 100%; box-sizing: border-box;">
|
||||
<hr style="width: 100%; box-sizing: border-box;" id="clock-divider">
|
||||
|
||||
<!-- INTERACTIVE / FUNCTIONAL AREA -->
|
||||
<section id="mid">
|
||||
|
@ -185,8 +209,8 @@
|
|||
}
|
||||
}
|
||||
let aka = publicjson[i][goalAmount][0];
|
||||
document.getElementById("sirada-yapilacaklar").innerHTML = aka.split("- ")[1];
|
||||
|
||||
document.getElementById("sirada-yapilacaklar").innerHTML = aka.split("- ")[1];
|
||||
|
||||
})
|
||||
.catch(err => {
|
||||
throw err
|
||||
|
|
Loading…
Reference in a new issue