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.

52 lines
1.7 KiB

<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<title>Open-Retro</title>
<link rel="stylesheet" href="compiled/css/style.css">
<script src="compiled/js/app.js"></script>
</head>
<body>
<script>
function createUUID() {
// http://www.ietf.org/rfc/rfc4122.txt
const s = [];
const hexDigits = "0123456789abcdef";
for (let i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "-";
return s.join("");
}
let uuid = localStorage.getItem("uuid") || createUUID();
localStorage.setItem("uuid", uuid)
console.debug("your uuid is " + uuid)
const app = Elm.Main.init({
flags: {
userUuid: uuid
}
})
let port = window.location.port
if(port === "8000") {
port = "8080"
}
const ws = new WebSocket(
"ws://" + window.location.hostname + ":" + port + "/ws")
ws.onmessage = function(event) {
console.debug(event)
app.ports.wsin.send(JSON.stringify(event.data))
}
app.ports.wsout.subscribe(function(msg) {
ws.send(msg)
})
</script>
</body>
</html>