MockCarAPI/templates/admin.html

68 lines
1.3 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mock Car API Admin</title>
<style type="text/css" media="screen">
body {
margin: 5em;
}
h1 {
text-align: center;
}
table {
width: 100%;
text-align: center;
margin-top: 1em;
}
table, tr, td {
border: black 1px solid;
border-collapse: collapse;
}
.change {
width: 100%;
display: flex;
justify-content: space-evenly;
}
</style>
</head>
<body>
<h1>Mock Data API</h1>
<div class="change">
<input type="text" name="key" id="key" placeholder="Key">
<input type="text" name="value" id="value" placeholder="Valid JSON values">
<button type="submit" id="#submit" onclick="updateData()">Change / Add</button>
</div>
<table>
<tr>
<td>Key</td>
<td>Value</td>
</tr>
{% for key, value in data.items() %}
<tr>
<td>{{ key }}</td>
<td>{{ value }}</td>
</tr>
{% endfor %}
</table>
<script charset="utf-8">
function updateData() {
const key = document.querySelector("#key").value;
const value = document.querySelector("#value").value;
fetch(`/data/${key}`, {
method: "POST",
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({value: JSON.parse(value)})
}).then(() => window.location.reload(true));
}
</script>
</body>
</html>