<!DOCTYPE html>
<html lang="fr">
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>Contrôle du robot</title>
	</head>
	<body>
		<h1>Contrôle du robot sans fils</h1>
		<p>
			Cette page permet de contrôler le robot depuis un PC portable
			connecté au WiFi du robot. Elle est destinée aux personnes n'ayant
			pas de smartphone.
		</p>
		<h2>Paramètres de contrôle</h2>
		<p>
			Ici vous pourrez paramétrer les contrôles du robot, rentrer son
			adresse IP ainsi que lui indiquer la distance à parcourir ou l'angle
			de rotation désiré.
		</p>
		<form class="settings" onsubmit="setEndpoint()">
			<label>
				<span>Adresse IP du robot</span>
				<input
					type="text"
					title="Adresse IP du robot (ex: 192.168.0.1)"
					pattern="\d+\.\d+\.\d+\.\d+"
					placeholder="192.168.0.0"
					required
				/>
			</label>
			<button>Se connecter</button>
		</form>
		<div class="controls">
			<label>
				<span>Rotation en degrés</span>
				<input
					type="number"
					title="Rotation en degrés (0° - 360°)"
					min="0"
					max="360"
					step="1"
					placeholder="90"
					onchange="rotate()"
				/>
			</label>
			<label>
				<span>Longueur en cm</span>
				<input
					type="number"
					title="Longueur en cm (0 - 2^31)"
					min="-2147483647"
					step="1"
					max="2147483647"
					placeholder="10"
					onchange="move()"
				/>
			</label>
		</div>
		<h2>Contrôle</h2>
		<p>
			Amusez vous ! Pour contrôler le robot, utilisez les flèches
			directionnelles pour le diriger et la barre espace pour le stopper.
		</p>
	</body>
	<script>
		var ipInput = ''
		var valueRot = ''
		var valueLength = ''
		var keyMap = {}

		window.onload = function () {
			storeInput()
		}

		document.addEventListener('keydown', (event) => {
			const key = event.keyCode
			const url = keyMap[key]
			console.log(url)
			const xhr = new XMLHttpRequest()
			xhr.open('GET', url)
			xhr.onload = () => {
				const response = xhr.responseText
				console.log(response)
			}
			xhr.send()
		})

		function storeInput() {
			ipInput = document.getElementById('ip').value
			valueRot = document.getElementById('valueRot').value
			valueLength = document.getElementById('valueLength').value
			keyMap = {
				38:
					'http://' +
					ipInput +
					'/get?command=forward&value=' +
					valueLength,
				40:
					'http://' +
					ipInput +
					'/get?command=backward&value=' +
					valueLength,
				37: 'http://' + ipInput + '/get?command=left&value=' + valueRot,
				39:
					'http://' +
					ipInput +
					'/get?command=right&value=' +
					valueRot,
				32: 'http://' + ipInput + '/get?command=stop',
			}
		}
	</script>
</html>