mirror of https://github.com/lumapu/ahoy.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
3.2 KiB
75 lines
3.2 KiB
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<title>Update</title>
|
|
{#HTML_HEADER}
|
|
</head>
|
|
<body>
|
|
{#HTML_NAV}
|
|
<div id="wrapper">
|
|
<div id="content">
|
|
<fieldset>
|
|
<legend class="des">{#SELECT_FILE} (*.bin)</legend>
|
|
<p>{#INSTALLED_VERSION}:<br/><span id="version" style="background-color: var(--input-bg); padding: 7px; display: block; margin: 3px;"></span></p>
|
|
<form id="form" method="POST" action="/update" enctype="multipart/form-data" accept-charset="utf-8">
|
|
<input type="file" id="uploadFileInput" name="update">
|
|
<input type="button" id="uploadButton" class="btn my-4" value="{#BTN_UPDATE}" onclick="hide()">
|
|
</form>
|
|
</fieldset>
|
|
<div class="row mt-4">
|
|
<a href="https://fw.ahoydtu.de" target="_blank">{#DOWNLOADS}</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{#HTML_FOOTER}
|
|
<script type="text/javascript">
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
const fileInput = document.querySelector('#uploadFileInput');
|
|
const button = document.querySelector('#uploadButton');
|
|
button.disabled = true;
|
|
button.title = "Please select a file first";
|
|
fileInput.addEventListener('change', () => {
|
|
if (fileInput.value) {
|
|
button.disabled = false;
|
|
button.title = "";
|
|
} else {
|
|
button.disabled = true;
|
|
button.title = "Please select a file first";
|
|
}
|
|
});
|
|
});
|
|
|
|
var env;
|
|
function parseGeneric(obj) {
|
|
parseNav(obj)
|
|
parseESP(obj)
|
|
parseRssi(obj)
|
|
env = obj.env
|
|
document.getElementById("version").innerHTML = "{#VERSION_FULL}_" + obj.env + ".bin"
|
|
}
|
|
|
|
function hide() {
|
|
var bin = document.getElementsByName("update")[0].value.slice(-env.length-4, -4)
|
|
if (bin !== env) {
|
|
var html = ml("div", {class: "row"}, [
|
|
ml("div", {class: "row my-3"}, "{#WARN_DIFF_ENV}"),
|
|
ml("div", {class: "row"}, [
|
|
ml("div", {class: "col-6"}, ml("input", {type: "button", class: "btn", value: "{#CANCEL}", onclick: function() { modalClose(); }}, null)),
|
|
ml("div", {class: "col-6"}, ml("input", {type: "button", class: "btn", value: "{#CONTIUE}", onclick: function() { start(); modalClose(); }}, null))
|
|
])
|
|
])
|
|
modal("{#UPDATE_MODAL}", html)
|
|
} else
|
|
start()
|
|
}
|
|
|
|
function start() {
|
|
document.getElementById("form").submit()
|
|
var e = document.getElementById("content")
|
|
e.replaceChildren(span("{#UPDATE_STARTED}"))
|
|
}
|
|
|
|
getAjax("/api/generic", parseGeneric);
|
|
</script>
|
|
</body>
|
|
</html>
|
|
|