<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
<title>view the current game</title>
<style>
img {
user-select: none;
}
body {
background-color: #3E3B3B;
}
</style>
</head>
<body>
<img id="picture" draggable="false">
<script src="https://unpkg.com/@panzoom/[email protected]/dist/panzoom.min.js"></script>
<script type="module">
let begin = []
let end = [0, 0]
let press = false
import init, { render } from "/masm.js";
async function base(buffer) {
const base64url = await new Promise(r => {
const reader = new FileReader()
reader.onload = () => r(reader.result)
reader.readAsDataURL(new Blob([buffer]))
});
return base64url.slice(base64url.indexOf(',') + 1)
}
init().then(() => {
fetch("http://apricotalliance.org/savefile").then(function (content) {
content.arrayBuffer().then(function (buf) {
let pic = document.getElementById('picture');
let imgbuf = render(new Uint8Array(buf));
console.log("render done");
pic.src = URL.createObjectURL(new Blob([imgbuf]))
let panzoom = Panzoom(pic, { maxScale: 7, cursor: "grab", noBind: true });
panzoom.pan(pic.width / 2, pic.height / 2, { animate: true })
panzoom.zoom(1, { animate: true })
pic.addEventListener('pointerdown', (event) => {
pic.style.cursor = "grabbing"
panzoom.handleDown(event)
})
pic.addEventListener('pointerup', (event) => {
pic.style.cursor = "grab"
panzoom.handleUp(event)
})
pic.addEventListener('pointermove', panzoom.handleMove)
pic.addEventListener('wheel', panzoom.zoomWithWheel)
})
})
});
</script>
</body>
</html>