X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fstandalone%2Fvideos%2Fembed.ts;h=103014bb08dd3c7c23bd58c6a88e79da405fc2c0;hb=3c47fa3bc0e3f2362bb17976057287a7e9aba46b;hp=995e8c27781b4df05080751555d72ed6967dae18;hpb=1e7eb457eda647b4fa22a0ae8e59c0a618f662f8;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/standalone/videos/embed.ts b/client/src/standalone/videos/embed.ts index 995e8c277..103014bb0 100644 --- a/client/src/standalone/videos/embed.ts +++ b/client/src/standalone/videos/embed.ts @@ -13,6 +13,7 @@ import { PluginType, ClientHookName } from '../../../../shared/models' +import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' import { P2PMediaLoaderOptions, PeertubePlayerManagerOptions, PlayerMode } from '../../assets/player/peertube-player-manager' import { VideoJSCaption } from '../../assets/player/peertube-videojs-typings' import { TranslationsManager } from '../../assets/player/translations-manager' @@ -85,9 +86,9 @@ export class PeerTubeEmbed { refreshFetch (url: string, options?: RequestInit) { return fetch(url, options) .then((res: Response) => { - if (res.status !== 401) return res + if (res.status !== HttpStatusCode.UNAUTHORIZED_401) return res - const refreshingTokenPromise = new Promise((resolve, reject) => { + const refreshingTokenPromise = new Promise((resolve, reject) => { const clientId: string = peertubeLocalStorage.getItem(this.LOCAL_STORAGE_OAUTH_CLIENT_KEYS.CLIENT_ID) const clientSecret: string = peertubeLocalStorage.getItem(this.LOCAL_STORAGE_OAUTH_CLIENT_KEYS.CLIENT_SECRET) @@ -107,7 +108,7 @@ export class PeerTubeEmbed { method: 'POST', body: objectToUrlEncoded(data) }).then(res => { - if (res.status === 401) return undefined + if (res.status === HttpStatusCode.UNAUTHORIZED_401) return undefined return res.json() }).then((obj: UserRefreshToken & { code: 'invalid_grant'}) => { @@ -125,10 +126,9 @@ export class PeerTubeEmbed { this.setHeadersFromTokens() resolve() + }).catch((refreshTokenError: any) => { + reject(refreshTokenError) }) - .catch((refreshTokenError: any) => { - reject(refreshTokenError) - }) }) return refreshingTokenPromise @@ -339,7 +339,7 @@ export class PeerTubeEmbed { try { playlistResponse = await playlistPromise - isResponseOk = true + isResponseOk = playlistResponse.status === HttpStatusCode.OK_200 } catch (err) { console.error(err) isResponseOk = false @@ -348,7 +348,7 @@ export class PeerTubeEmbed { if (!isResponseOk) { const serverTranslations = await this.translationsPromise - if (playlistResponse?.status === 404) { + if (playlistResponse?.status === HttpStatusCode.NOT_FOUND_404) { this.playlistNotFound(serverTranslations) return undefined } @@ -368,7 +368,7 @@ export class PeerTubeEmbed { try { videoResponse = await videoPromise - isResponseOk = true + isResponseOk = videoResponse.status === HttpStatusCode.OK_200 } catch (err) { console.error(err) @@ -378,7 +378,7 @@ export class PeerTubeEmbed { if (!isResponseOk) { const serverTranslations = await this.translationsPromise - if (videoResponse?.status === 404) { + if (videoResponse?.status === HttpStatusCode.NOT_FOUND_404) { this.videoNotFound(serverTranslations) return undefined } @@ -531,6 +531,9 @@ export class PeerTubeEmbed { videoCaptions, inactivityTimeout: 2500, videoViewUrl: this.getVideoUrl(videoInfo.uuid) + '/views', + videoUUID: videoInfo.uuid, + + isLive: videoInfo.isLive, playerElement: this.playerElement, onPlayerElementChange: (element: HTMLVideoElement) => this.playerElement = element, @@ -543,7 +546,8 @@ export class PeerTubeEmbed { serverUrl: window.location.origin, language: navigator.language, - embedUrl: window.location.origin + videoInfo.embedPath + embedUrl: window.location.origin + videoInfo.embedPath, + embedTitle: videoInfo.name }, webtorrent: { @@ -661,10 +665,12 @@ export class PeerTubeEmbed { ? '' + peertubeTranslate('Watching this video may reveal your IP address to others.') + '' : undefined - this.player.dock({ - title, - description - }) + if (title || description) { + this.player.dock({ + title, + description + }) + } } private buildCSS () { @@ -753,6 +759,7 @@ export class PeerTubeEmbed { await loadPlugin({ hooks: this.peertubeHooks, pluginInfo, + onSettingsScripts: () => undefined, peertubeHelpersFactory: _ => this.buildPeerTubeHelpers(translations) }) } @@ -779,6 +786,8 @@ export class PeerTubeEmbed { showModal: unimplemented, + getServerConfig: unimplemented, + markdownRenderer: { textMarkdownToHTML: unimplemented, enhancedMarkdownToHTML: unimplemented