Added update detector

This commit is contained in:
MeowcaTheoRange 2022-09-13 10:57:56 -05:00
parent e6230877aa
commit a7fc0b0cd5
3 changed files with 46 additions and 5 deletions

View file

@ -196,6 +196,16 @@
</form> </form>
</div> </div>
</div> </div>
<div class="scrim-over-- scr-update--">
<div class="dialog" id="timerdia">
<p class="dlg-top">There's an update!</p>
<p>You should restart - there's a new update of FunnyClock².</p>
<br />
<div>
<button onclick="location.reload(true)">RELOAD</button>
</div>
</div>
</div>
<div class="scrim--" onclick="document.querySelector('.header').classList.remove('wide')"> </div> <div class="scrim--" onclick="document.querySelector('.header').classList.remove('wide')"> </div>
<script> <script>
$(".poplight").draggable({ $(".poplight").draggable({
@ -342,5 +352,6 @@ function addCheckbox(obj) {
} }
</script> </script>
<script src="./canvas.js"></script> <script src="./canvas.js"></script>
<script src="./update.js"></script>
</body> </body>
</html> </html>

View file

@ -40,13 +40,13 @@
margin: 8px 0; margin: 8px 0;
} }
.dialog form div { .dialog div {
text-align: right; text-align: right;
margin-top: 8px; margin-top: 8px;
box-sizing: border-box; box-sizing: border-box;
} }
.dialog form div input[type=submit] { .dialog div input[type=submit], .dialog div button {
margin: 0; margin: 0;
padding: 8px; padding: 8px;
height: 32px; height: 32px;
@ -59,15 +59,15 @@
transition: background-color 0.125s, color 0.125s; transition: background-color 0.125s, color 0.125s;
} }
.dialog form div input:focus { .dialog div input:focus {
background-color: #00000020; background-color: #00000020;
} }
.dialog form div input:hover { .dialog div input:hover {
background-color: #00000040; background-color: #00000040;
} }
.dialog form div input:active { .dialog div input:active {
background-color: #00000080; background-color: #00000080;
} }

30
update.js Normal file
View file

@ -0,0 +1,30 @@
var prevSha = localStorage.getItem("commitsha") ?? "ThisShouldntBeASHA";
setInterval(reqData, 30000);
function reqData() {
const XHR = new XMLHttpRequest();
XHR.addEventListener("load", (event) => {
var resp = JSON.parse(event.target.response);
if (resp.sha != prevSha) {
if (prevSha == "ThisShouldntBeASHA") {
localStorage.setItem("commitsha", resp.sha);
} else {
document.querySelector(".scr-update--").classList.add("open");
localStorage.setItem("commitsha", resp.sha);
}
}
});
XHR.addEventListener("error", (event) => {
console.log('Oops! Something went wrong.');
});
XHR.open("GET", "https://api.github.com/repos/meowcatheorange/clock/commits/master");
XHR.send();
}
reqData();