223 lines
7.5 KiB
HTML
223 lines
7.5 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="tr">
|
|||
|
|
|||
|
<head>
|
|||
|
<!--!Copyright © 2023 Aliberk Sandıkçı -->
|
|||
|
<!--!Copyright © 2023 iflpanel Developers -->
|
|||
|
<meta charset="UTF-8" />
|
|||
|
|
|||
|
<!-- Meta Content -->
|
|||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|||
|
<meta name="description" content="iflpanel Akıllı Tahta Arkaplan Sayfası" />
|
|||
|
<meta name="keywords" content="iflpanel,akıllı tahta,arkaplan,tahta,board" />
|
|||
|
<meta name="author" content="Aliberk Sandıkçı" />
|
|||
|
|
|||
|
<!-- CSS Files -->
|
|||
|
<link rel="stylesheet" type="text/css" href="./assets/css/main.css" />
|
|||
|
<link rel="stylesheet" type="text/css" href="./assets/css/not_scss.css" />
|
|||
|
|
|||
|
|
|||
|
<title>iflpanel Tahta</title>
|
|||
|
</head>
|
|||
|
|
|||
|
<body>
|
|||
|
<!-- MAIN AREA -->
|
|||
|
<section id="top">
|
|||
|
<div class="class">
|
|||
|
<div>
|
|||
|
<span class="grade">12</span> /
|
|||
|
<span class="branch">C</span>
|
|||
|
</div>
|
|||
|
<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>
|
|||
|
</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="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">
|
|||
|
<form>
|
|||
|
<div class="cell">
|
|||
|
<input type="checkbox" id="chx-clockSecond" onchange="toggleClockSeconds()" />
|
|||
|
<label for="chx-clockSecond">Saniye</label>
|
|||
|
</div>
|
|||
|
<div class="cell">
|
|||
|
<input type="checkbox" id="chx-timerMsec" onchange="toggleTimerMsec()" checked />
|
|||
|
<label for="chx-timerMsec">Sayaçlarda Milisaniye</label>
|
|||
|
</div>
|
|||
|
<div class="cell">
|
|||
|
<input type="checkbox" id="chx-devVersion" onchange="toggleDevVersion()">
|
|||
|
<label for="chx-devVersion">Geliştirici Sürümü</label>
|
|||
|
</div>
|
|||
|
<div class="cell">
|
|||
|
<input type="checkbox" id="chx-closeExtra" onchange="toggleExtra()">
|
|||
|
<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;" id="clock-divider">
|
|||
|
|
|||
|
<!-- INTERACTIVE / FUNCTIONAL AREA -->
|
|||
|
<section id="mid">
|
|||
|
<div id="timers">
|
|||
|
<div id="timers-menu">
|
|||
|
<ul>
|
|||
|
<li onmouseover="toggleTimers('stopwatch')" onclick="toggleTimers('stopwatch')">
|
|||
|
<button class="pushable pushable-f pushable-l">
|
|||
|
<span class="shadow"></span>
|
|||
|
<span class="edge"></span>
|
|||
|
<span class="front">
|
|||
|
Kronometre
|
|||
|
</span>
|
|||
|
</button>
|
|||
|
</li>
|
|||
|
<!-- <li onmouseover="toggleTimers('timer')" onclick="toggleTimers('timer')">
|
|||
|
<button class="pushable pushable-l">
|
|||
|
<span class="shadow"></span>
|
|||
|
<span class="edge"></span>
|
|||
|
<span class="front" style="padding: 1px 10px; background-color: red;">
|
|||
|
Güvenli<br>Kronometre
|
|||
|
</span>
|
|||
|
</button>
|
|||
|
</li> -->
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
<div id="stopwatch">
|
|||
|
<div class="timer">
|
|||
|
<div class="min">
|
|||
|
00
|
|||
|
</div>
|
|||
|
.
|
|||
|
<div class="sec">
|
|||
|
00
|
|||
|
</div>
|
|||
|
<span id="stopwatch-msec-dot">.</span>
|
|||
|
<div class="msec">
|
|||
|
00
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<form>
|
|||
|
<input class="timer-action-button" type="button" id="start-cro" name="start-cro" value="▶️ Başlat"
|
|||
|
onmouseover="Stopwatch('start')" onclick="Stopwatch('start')" checked>
|
|||
|
<input class="timer-action-button" type="button" id="stop-cro" name="stop-cro" value="⏸️ Durdur ve Sıfırla"
|
|||
|
onmouseover="Stopwatch('stop')" onclick="Stopwatch('stop')" checked>
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="timer">
|
|||
|
<div class="timer">
|
|||
|
00.00.00
|
|||
|
</div>
|
|||
|
<p>Şu anda yapım aşamasında<br><b>sınav salonundaki akıllı tahta için 100% doğru kronometre</b></p>
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="yemek-listesi">
|
|||
|
yapım aşamasında: yemekhane listesi eklenecek
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="animations">
|
|||
|
yapım aşamasında: animasyonlar / oyunlar eklenecek
|
|||
|
</div>
|
|||
|
</section>
|
|||
|
|
|||
|
<!-- NON-INTERACTIVE DECORATION AREA -->
|
|||
|
<section id="bottom">
|
|||
|
<div id="rainbow"></div>
|
|||
|
</section>
|
|||
|
|
|||
|
<script>
|
|||
|
|
|||
|
function b64DecodeUnicode(str) {
|
|||
|
// Going backwards: from bytestream, to percent-encoding, to original string.
|
|||
|
return decodeURIComponent(atob(str).split('').map(function (c) {
|
|||
|
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
|||
|
}).join(''));
|
|||
|
}
|
|||
|
|
|||
|
var curAmount = 0
|
|||
|
var goalAmount = 0;
|
|||
|
let localtest = 0;
|
|||
|
|
|||
|
//
|
|||
|
// PUBLIC DATA
|
|||
|
//
|
|||
|
|
|||
|
let url2 = 'https://git.aliberksandikci.com.tr/api/v1/repos/asandikci.com/www/contents/public-data.json';
|
|||
|
// let url2 = "http://127.0.0.1:PORT/public-data.json";
|
|||
|
// localtest = 1;
|
|||
|
fetch(url2)
|
|||
|
.then(res => res.json())
|
|||
|
.then(out => {
|
|||
|
var publicjson;
|
|||
|
if (localtest) {
|
|||
|
publicjson = out[0]["public-todo"];
|
|||
|
} else {
|
|||
|
var cnt = out.content;
|
|||
|
console.log("base64: " + cnt);
|
|||
|
publicjson = JSON.parse(b64DecodeUnicode(cnt))[0]["public-todo"];
|
|||
|
}
|
|||
|
|
|||
|
publicjson.sort(function (a, b) {
|
|||
|
return Number(Object.keys(a)) > Number(Object.keys(b));
|
|||
|
});
|
|||
|
console.log(publicjson);
|
|||
|
|
|||
|
var curi = 0;
|
|||
|
let i = 0;
|
|||
|
for (i = 0; i < publicjson.length; i++) {
|
|||
|
const element = Number(Object.keys(publicjson[i]));
|
|||
|
if (curAmount < element) {
|
|||
|
goalAmount = element;
|
|||
|
curi = i;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
let aka = publicjson[i][goalAmount][0];
|
|||
|
document.getElementById("sirada-yapilacaklar").innerHTML = aka.split("- ")[1];
|
|||
|
|
|||
|
})
|
|||
|
.catch(err => {
|
|||
|
throw err
|
|||
|
});
|
|||
|
</script>
|
|||
|
<script src="./assets/js/old_main.js"></script>
|
|||
|
<script src="./assets/js/old_stopwatch.js"></script>
|
|||
|
</body>
|
|||
|
|
|||
|
</html>
|