X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Froot-helpers%2Fvideo.ts;h=01feddbdc2a868a51431523637f74306f85543fc;hb=3db9f8bf0e653113f0f0f739ad3a32a238062cdb;hp=ba84e49ea2cd862081414f5be233df691a25a99b;hpb=de61544582726713c965d3369902f4a464f72e20;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/root-helpers/video.ts b/client/src/root-helpers/video.ts index ba84e49ea..01feddbdc 100644 --- a/client/src/root-helpers/video.ts +++ b/client/src/root-helpers/video.ts @@ -1,21 +1,36 @@ -import { HTMLServerConfig, Video } from '@shared/models' +import { HTMLServerConfig, Video, VideoPrivacy } from '@shared/models' function buildVideoOrPlaylistEmbed (options: { embedUrl: string embedTitle: string + responsive?: boolean }) { - const { embedUrl, embedTitle } = options + const { embedUrl, embedTitle, responsive = false } = options const iframe = document.createElement('iframe') iframe.title = embedTitle - iframe.width = '560' - iframe.height = '315' + iframe.width = responsive ? '100%' : '560' + iframe.height = responsive ? '100%' : '315' iframe.src = embedUrl iframe.frameBorder = '0' iframe.allowFullscreen = true iframe.sandbox.add('allow-same-origin', 'allow-scripts', 'allow-popups') + if (responsive) { + const wrapper = document.createElement('div') + + wrapper.style.position = 'relative' + wrapper.style['padding-top'] = '56.25%' + + iframe.style.position = 'absolute' + iframe.style.inset = '0' + + wrapper.appendChild(iframe) + + return wrapper.outerHTML + } + return iframe.outerHTML } @@ -26,9 +41,14 @@ function isP2PEnabled (video: Video, config: HTMLServerConfig, userP2PEnabled: b return userP2PEnabled } +function videoRequiresAuth (video: Video) { + return new Set([ VideoPrivacy.PRIVATE, VideoPrivacy.INTERNAL ]).has(video.privacy.id) +} + export { buildVideoOrPlaylistEmbed, - isP2PEnabled + isP2PEnabled, + videoRequiresAuth } // ---------------------------------------------------------------------------