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
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>
|