Compare commits
34 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
dd1c874c5b | |
|
|
f844ac623a | |
|
|
6957a0f04b | |
|
|
085364ebf8 | |
|
|
4cd8db4312 | |
|
|
4685cae579 | |
|
|
f89680dc4a | |
|
|
67aad8572a | |
|
|
538db1386f | |
|
|
72bfef6bfe | |
|
|
43e9c16f35 | |
|
|
737c2a6d03 | |
|
|
1059fc00c7 | |
|
|
51ff814bf5 | |
|
|
38ba3bea39 | |
|
|
272dba37cc | |
|
|
f4bea5bdb8 | |
|
|
1257afd749 | |
|
|
48f6b2f7ee | |
|
|
b289df295c | |
|
|
5ea5217180 | |
|
|
25b8171b14 | |
|
|
86d20cfc8b | |
|
|
b1e2766ae0 | |
|
|
9a9200ad00 | |
|
|
ccaf13e7a8 | |
|
|
047b168fe0 | |
|
|
85bd03c042 | |
|
|
6b5b9e602f | |
|
|
81acdfc89e | |
|
|
68a31acbd3 | |
|
|
dd0cca4f52 | |
|
|
30555313bd | |
|
|
5c2fc629d9 |
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Door Control</title>
|
||||
<link rel="icon" href="/img/favicon.png" type="img/png">
|
||||
<link rel="stylesheet" src="style.css">
|
||||
<script defer src="html5-qrcode.min.js"></script>
|
||||
<script defer src="qr.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="screen-container">
|
||||
<div id="reader"></div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
console.log("qr reader");
|
||||
|
||||
sessionStorage.setItem("fromQr", "1");
|
||||
|
||||
function onScanSuccess(qrMessage) {
|
||||
qrMessage = "hello";
|
||||
sessionStorage.setItem = ("apiKeyInput", qrMessage);
|
||||
console.log(`QR = ${qrMessage}`);
|
||||
html5QrcodeScanner.clear();
|
||||
window.location.replace("trigger.html");
|
||||
}
|
||||
|
||||
function onScanFailure(qrMessage) {
|
||||
console.log(`QR error = $(error)`);
|
||||
}
|
||||
|
||||
let html5QrcodeScanner = new Html5QrcodeScanner(
|
||||
"reader", { fps: 10, qrbox: 250 }, /* verbose= */ true);
|
||||
|
||||
|
||||
html5QrcodeScanner.render(onScanSuccess, onScanFailure);
|
||||
21
script.js
21
script.js
|
|
@ -1,5 +1,6 @@
|
|||
const openSettingScreenButton = document.querySelector("#open-setting-screen-button");
|
||||
const closeSettingScreenButton = document.querySelector("#close-setting-screen-button");
|
||||
const scanQrButton = document.querySelector("#scan-qr-button");
|
||||
const saveSettingsButton = document.querySelector("#save-settings-button");
|
||||
|
||||
const delayUnlockButton = document.querySelector("#delay-unlock-button");
|
||||
|
|
@ -7,6 +8,8 @@
|
|||
|
||||
const settingScreen = document.querySelector(".setting-screen");
|
||||
const mainScreen = document.querySelector(".main-screen");
|
||||
const qrScreen = document.querySelector(".qr-screen");
|
||||
const qrReader = document.querySelector("#reader");
|
||||
|
||||
const messageContainer = document.querySelector("#message-container");
|
||||
|
||||
|
|
@ -53,14 +56,18 @@
|
|||
fetch(`${unlockUrl}?deviceID=${dID}&apiKey=${aK}&delay=${d}`)
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
if (data.error !== "running") {
|
||||
displayUnlockMessage(data.message);
|
||||
} else {
|
||||
console.log("already running");
|
||||
}
|
||||
return;
|
||||
})
|
||||
.catch(error => messageContainer.innerHTML = `Error: ${error}`)
|
||||
}
|
||||
|
||||
const setSettings = () => {
|
||||
if (localStorage.getItem("apiKey") && localStorage.getItem("deviceID")) {
|
||||
if (localStorage.getItem("apiKey") && localStorage.getItem("deviceID") && sessionStorage.getItem("fromQr") !== "1") {
|
||||
apiKey = localStorage.getItem("apiKey");
|
||||
deviceID = localStorage.getItem("deviceID");
|
||||
if (localStorage.getItem("delay")) {
|
||||
|
|
@ -73,6 +80,11 @@
|
|||
delayInput.value = delay;
|
||||
showDelay.innerHTML = `${delay}s`;
|
||||
} else {
|
||||
if (sessionStorage.getItem("fromQr") === "1" && sessionStorage.getItem("apiKeyInput") ) {
|
||||
sessionStorage.setItem("fromQr", "0");
|
||||
apiKeyInput.value = sessionStorage.getItem("apiKeyInput");
|
||||
}
|
||||
|
||||
gotoSettingScreen();
|
||||
}
|
||||
}
|
||||
|
|
@ -91,10 +103,17 @@
|
|||
settingScreen.style.left = "100%";
|
||||
}
|
||||
|
||||
|
||||
const scanQr = () => {
|
||||
window.location.replace("qr.html");
|
||||
}
|
||||
|
||||
openSettingScreenButton.addEventListener("click", gotoSettingScreen);
|
||||
|
||||
closeSettingScreenButton.addEventListener("click", gotoMainScreen);
|
||||
|
||||
scanQrButton.addEventListener("click", scanQr);
|
||||
|
||||
// Save settings button
|
||||
saveSettingsButton.addEventListener("click", function() {
|
||||
localStorage.setItem("deviceID", deviceIDInput.value);
|
||||
|
|
|
|||
21
style.css
21
style.css
|
|
@ -72,9 +72,18 @@
|
|||
|
||||
}
|
||||
|
||||
.qr-screen {
|
||||
/* left: 100%; */
|
||||
transition: all, .3s;
|
||||
}
|
||||
|
||||
#reader {
|
||||
border: 3px solid blue;
|
||||
width: 500px;
|
||||
}
|
||||
/* .settings-form h1 { */
|
||||
/* text-align: center; */
|
||||
}
|
||||
/* } */
|
||||
|
||||
.settings-form ul {
|
||||
position: relative;
|
||||
|
|
@ -112,7 +121,7 @@
|
|||
}
|
||||
|
||||
.settings-form button {
|
||||
width: 100px;
|
||||
min-width: 100px;
|
||||
padding: .5em;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
|
@ -129,7 +138,13 @@
|
|||
|
||||
.settings-form button:active {
|
||||
background-color: green;
|
||||
width: 96px;
|
||||
/*width: 96px;*/
|
||||
}
|
||||
|
||||
#reader {
|
||||
/* position: absolute; */
|
||||
height: 500px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
h1 {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<nav class="app-bar">
|
||||
<button id="open-setting-screen-button"><img src="img/settings2.png"></button>
|
||||
<button id="close-setting-screen-button"><img src="img/home.png"></button>
|
||||
|
|
@ -46,9 +45,8 @@
|
|||
|
||||
|
||||
<!-- Settings Screen -->
|
||||
<section class="screen-container setting-screen"">
|
||||
<section class="screen-container setting-screen">
|
||||
<h1 class="app-bar">Settings</h1>
|
||||
|
||||
<form class="settings-form">
|
||||
<ul>
|
||||
<li>
|
||||
|
|
@ -64,12 +62,14 @@
|
|||
<input type="number" min="0" id="delay-time" name="delayTime">
|
||||
</li>
|
||||
<li>
|
||||
<button type="button" id="scan-qr-button" name="scanQr">Scan QR</button>
|
||||
<button type="button" id="save-settings-button" name="saveSettings">Save</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Reference in New Issue