X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fstandalone%2Fvideos%2Fembed.ts;h=3193ae6ef560df29a8e4674d41fd194039a45ca4;hb=a16aee73db627908dc83eb5c29b213ce8d1fab39;hp=9c672529f35b3dcde7349eb36e3d01bd2faf125c;hpb=2ccaeeb341ffe8c2609039bf4c6d8835b4650316;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/standalone/videos/embed.ts b/client/src/standalone/videos/embed.ts index 9c672529f..3193ae6ef 100644 --- a/client/src/standalone/videos/embed.ts +++ b/client/src/standalone/videos/embed.ts @@ -6,54 +6,40 @@ import '../../assets/player/peertube-videojs-plugin' import 'videojs-dock/dist/videojs-dock.es.js' import { VideoDetails } from '../../../../shared' -function loadVideoInfo (videoId: string, callback: (err: Error, res?: VideoDetails) => void) { - const xhttp = new XMLHttpRequest() - xhttp.onreadystatechange = function () { - if (this.readyState === 4 && this.status === 200) { - const json = JSON.parse(this.responseText) - return callback(null, json) - } - } - - xhttp.onerror = err => callback(err.error) - - const url = window.location.origin + '/api/v1/videos/' + videoId - xhttp.open('GET', url, true) - xhttp.send() +async function loadVideoInfo (videoId: string): Promise { + const response = await fetch(window.location.origin + '/api/v1/videos/' + videoId) + return response.json() } const urlParts = window.location.href.split('/') const videoId = urlParts[urlParts.length - 1] -loadVideoInfo(videoId, (err, videoInfo) => { - if (err) { - console.error(err) - return - } - - const videoElement = document.getElementById('video-container') as HTMLVideoElement - const previewUrl = window.location.origin + videoInfo.previewPath - videoElement.poster = previewUrl - - const videojsOptions = { - controls: true, - autoplay: false, - plugins: { - peertube: { - videoFiles: videoInfo.files, - playerElement: videoElement, - peerTubeLink: true - }, - hotkeys: { - enableVolumeScroll: false +loadVideoInfo(videoId) + .then(videoInfo => { + const videoElement = document.getElementById('video-container') as HTMLVideoElement + const previewUrl = window.location.origin + videoInfo.previewPath + videoElement.poster = previewUrl + + const videojsOptions = { + controls: true, + autoplay: false, + plugins: { + peertube: { + videoFiles: videoInfo.files, + playerElement: videoElement, + peerTubeLink: true + }, + hotkeys: { + enableVolumeScroll: false + } } } - } - videojs('video-container', videojsOptions, function () { - const player = this + videojs('video-container', videojsOptions, function () { + const player = this - player.dock({ - title: videoInfo.name + player.dock({ + title: videoInfo.name + }) }) }) -}) + .catch(err => console.error(err))