elm-twitch/index.html

64 lines
2.2 KiB
HTML
Raw Normal View History

2020-10-03 17:44:16 +01:00
<!doctype HTML>
<html>
<head>
<title>twitch.tforgione.fr</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
2020-11-05 16:23:42 +00:00
<link rel="icon" type="image/ico" href="/favicon.ico"/>
2020-10-04 15:37:01 +01:00
<link href="css/video-js.css" rel="stylesheet">
2020-10-04 20:09:13 +01:00
<link href="css/spinner.css" rel="stylesheet">
2020-10-03 17:44:16 +01:00
</head>
<body>
<div id="container"></div>
2020-10-04 15:37:01 +01:00
<script src="js/vd.js"></script>
2020-10-03 17:44:16 +01:00
<script src="js/main.js"></script>
<script>
2020-10-04 15:37:01 +01:00
var app = Elm.Main.init({
2020-10-04 19:20:16 +01:00
node: document.getElementById('container'),
flags: { width: window.innerWidth, height: window.innerHeight }
2020-10-03 17:44:16 +01:00
});
2020-10-04 15:37:01 +01:00
2020-10-04 20:31:16 +01:00
var lastId, player;
2020-10-04 22:03:38 +01:00
if (app.ports !== undefined && app.ports.registerVideo !== undefined) {
app.ports.registerVideo.subscribe(function(args) {
2020-10-06 17:32:10 +01:00
window.scrollTo(0, 0);
2021-03-24 07:17:36 +00:00
var time = vd.parseTime(args[2]);
time = time || vd.parseTime(localStorage.getItem(args[0]));
2020-10-04 20:31:16 +01:00
2020-10-04 22:03:38 +01:00
requestAnimationFrame(function() {
if (args[0] !== lastId) {
lastId = args[0];
2020-10-04 20:31:16 +01:00
2020-10-04 22:03:38 +01:00
player = vd.setup(args[0], {
2021-03-24 07:17:36 +00:00
v: args[1] + "/manifest.m3u8",
2020-11-05 16:18:16 +00:00
t: time,
2020-10-06 08:54:34 +01:00
focus: true
2020-10-04 22:03:38 +01:00
});
} else if (time !== undefined ){
player.currentTime(time);
}
});
2021-03-24 07:17:36 +00:00
setTimeout(recordPosition, 1000);
2020-10-04 16:06:03 +01:00
});
2020-10-04 22:03:38 +01:00
}
2020-10-05 10:26:11 +01:00
if (app.ports !== undefined && app.ports.eraseVideo !== undefined) {
app.ports.eraseVideo.subscribe(function() {
2020-10-06 17:32:10 +01:00
window.scrollTo(0, 0);
2020-10-05 10:26:11 +01:00
lastId = undefined;
});
}
2021-03-24 07:17:36 +00:00
function recordPosition() {
if (lastId !== undefined) {
localStorage.setItem(lastId, player.currentTime());
setTimeout(recordPosition, 1000);
}
}
2020-10-03 17:44:16 +01:00
</script>
</body>
</html>