Files
fanController/public/index.html

133 lines
3.8 KiB
HTML
Executable File

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>Fan Controller</title>
<link href='http://fonts.googleapis.com/css?family=Ubuntu' rel='stylesheet' type='text/css'>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="180x180" href="images/apple-touch-icon.png">
<link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="images/manifest.json">
<link rel="mask-icon" href="images/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="images/favicon.ico">
<meta name="msapplication-config" content="images/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="black-translucent" id="status_bar" name="apple-mobile-web-app-status-bar-style" />
<script type="text/javascript">
if(!navigator.standalone && (/iphone|ipod|ipad/gi).test(navigator.platform) && (/Safari/i).test(navigator.appVersion)){
document.getElementById("status_bar").content = "black-translucent";
}
</script>
<style type="text/css">
html * {
font-family: 'Ubuntu', sans-serif !important;
}
.myContainer {
margin-top: 85px;
margin-left: auto;
margin-right: auto;
width: 100%;
}
.myBg {
background-color: #eee;
}
.btn {
height: 60px;
width: 120px;
margin-right: 10px;
margin-left: 10px;
}
.state_display {
height: 150px;
width: 80%;
margin-top: 70px;
margin-left: auto;
margin-right: auto;
padding-top: 45px;
background-color: white;
border-style: solid;
border-width: 0px;
border-radius: 4px;
text-align: center;
font-size: 40px;
}
.state_display h4 {
position: absolute;
margin-top: -70px;
}
.footer {
width: 100%;
margin: 0 auto;
position: fixed;
bottom: 0;
padding-bottom: 15px;
text-align: center;
}
</style>
</head>
<body class="myBg">
<div class="myContainer">
<div style="text-align:center; margin-bottom:20px;">
<h2>Fan Controller</h2>
</div>
<hr>
<div class="state_display">
<h4>Current fan state:</h4>
<span id="state">ON</span>
</div>
<hr>
<div style="text-align:center;">
<button class="btn btn-success" id="on" type="submit" onclick="UserAction('on')">ON</button>
<button class="btn btn-danger" id="off" type="submit" onclick="UserAction('off')">OFF</button>
</div>
<hr>
</div>
</div>
<div class="footer">
<p class="muted">
<small>Powered by C.H.I.P</small>
</p>
<img src="images/chip.png" style="width: 60px;" />
</body>
<script type="text/javascript">
function UserAction(state) {
var xhttp = new XMLHttpRequest();
xhttp.open("POST", state, false);
xhttp.setRequestHeader("Content-type", "application/text");
xhttp.send();
console.log(xhttp.status)
if (xhttp.status == "200" && xhttp.responseText != 'none') {
var stateDisplay = document.getElementById('state');
stateDisplay.innerText = xhttp.responseText.toUpperCase();
}
}
window.onload = function() {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "state", false);
xhttp.send();
if (xhttp.status == "200") {
var stateDisplay = document.getElementById('state');
stateDisplay.innerText = xhttp.responseText.toUpperCase();
}
}
</script>
</html>