68 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			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>
 |