Fix video player responsive embed.
ResponsiveEmbed was renamed to Ratio and now behaves slightly different compared to old Bootstrap 4.new-frontend
parent
dc95cad8c8
commit
4f49e08179
|
@ -16,13 +16,13 @@
|
|||
*/
|
||||
|
||||
import * as React from 'react';
|
||||
import { Ratio } from 'react-bootstrap';
|
||||
import videojs, { VideoJsPlayer, VideoJsPlayerOptions } from 'video.js';
|
||||
import 'videojs-errors';
|
||||
// TODO - localization
|
||||
// import 'videojs-errors/dist/lang/de';
|
||||
// import 'videojs-errors/dist/lang/en';
|
||||
// import 'videojs-contrib-dash';
|
||||
import { ResponsiveEmbed } from 'react-bootstrap';
|
||||
|
||||
export default class VideoPlayer extends React.Component<{
|
||||
onReady?: () => void,
|
||||
|
@ -64,44 +64,40 @@ export default class VideoPlayer extends React.Component<{
|
|||
...videoJsOptions
|
||||
} = this.props;
|
||||
return (
|
||||
<ResponsiveEmbed aspectRatio="16by9">
|
||||
<div>
|
||||
<div data-vjs-player>
|
||||
{/* eslint-disable-next-line jsx-a11y/media-has-caption */}
|
||||
<video
|
||||
ref={(node) => { this.videoNode = node; }}
|
||||
className="video-js"
|
||||
data-setup={
|
||||
JSON.stringify({
|
||||
autoplay,
|
||||
controls,
|
||||
...videoJsOptions,
|
||||
})
|
||||
}
|
||||
controls={controls}
|
||||
autoPlay={!!(autoplay === 'true' || autoplay === true)}
|
||||
>
|
||||
{sources.map(
|
||||
({ src, type }) => (
|
||||
<source
|
||||
key={`${JSON.stringify({ src, type })}`}
|
||||
src={src}
|
||||
type={type}
|
||||
/>
|
||||
),
|
||||
)}
|
||||
<p className="vjs-no-js">
|
||||
{/* TODO - localize */}
|
||||
To view this video please enable JavaScript, and consider upgrading to a
|
||||
web browser that
|
||||
<a href="https://videojs.com/html5-video-support/" target="_blank" rel="noreferrer">
|
||||
supports HTML5 video
|
||||
</a>
|
||||
</p>
|
||||
</video>
|
||||
</div>
|
||||
</div>
|
||||
</ResponsiveEmbed>
|
||||
<Ratio aspectRatio="16by9" data-vjs-player>
|
||||
{/* eslint-disable-next-line jsx-a11y/media-has-caption */}
|
||||
<video
|
||||
ref={(node) => { this.videoNode = node; }}
|
||||
className="video-js"
|
||||
data-setup={
|
||||
JSON.stringify({
|
||||
autoplay,
|
||||
controls,
|
||||
...videoJsOptions,
|
||||
})
|
||||
}
|
||||
controls={controls}
|
||||
autoPlay={!!(autoplay === 'true' || autoplay === true)}
|
||||
>
|
||||
{sources.map(
|
||||
({ src, type }) => (
|
||||
<source
|
||||
key={`${JSON.stringify({ src, type })}`}
|
||||
src={src}
|
||||
type={type}
|
||||
/>
|
||||
),
|
||||
)}
|
||||
<p className="vjs-no-js">
|
||||
{/* TODO - localize */}
|
||||
To view this video please enable JavaScript, and consider upgrading to a
|
||||
web browser that
|
||||
<a href="https://videojs.com/html5-video-support/" target="_blank" rel="noreferrer">
|
||||
supports HTML5 video
|
||||
</a>
|
||||
</p>
|
||||
</video>
|
||||
</Ratio>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue