diff --git a/templates/assets/js/index.js b/templates/assets/js/index.js index 34889ab..ac4851d 100644 --- a/templates/assets/js/index.js +++ b/templates/assets/js/index.js @@ -85,3 +85,41 @@ function hide(target){ document.addEventListener("htmx:afterOnLoad", function (event) { // console.log("Réponse du serveur :", event.detail.xhr.responseText); }); + +document.body.addEventListener('click', function(e) { + // Play + const playBtn = e.target.closest('.js-play-btn'); + if (playBtn) { + const detailBlock = document.getElementById('detail-block'); + const playerBlock = document.querySelector('.js-player-block'); + const video = document.getElementById('hls-video'); + const url = playBtn.dataset.hlsurl; + + detailBlock.style.display = 'none'; + playerBlock.style.display = 'block'; + + if (Hls.isSupported()) { + const hls = new Hls(); + hls.loadSource(url); + hls.attachMedia(video); + } else if (video.canPlayType('application/vnd.apple.mpegurl')) { + video.src = url; + } else { + console.error('HLS non supporté'); + } + return; + } + + // Fermer + const closeBtn = e.target.closest('.js-close-btn'); + if (closeBtn) { + const detailBlock = document.getElementById('detail-block'); + const playerBlock = document.querySelector('.js-player-block'); + const video = document.getElementById('hls-video'); + + video.pause(); + video.src = ''; + playerBlock.style.display = 'none'; + detailBlock.style.display = 'block'; + } +}); diff --git a/templates/media_detail.pages.tmpl b/templates/media_detail.pages.tmpl index 9a4bd85..5b252e6 100644 --- a/templates/media_detail.pages.tmpl +++ b/templates/media_detail.pages.tmpl @@ -2,7 +2,7 @@
{{.}}
{{end}} {{with .item.DurationFmt}}Durée : {{.}}
{{end}} -