Release v0.4.0 #110
			
				
			
		
		
		
	| 
						 | 
					@ -2,6 +2,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import React from 'react';
 | 
					import React from 'react';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import { usePlyr } from 'plyr-react';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import style from './PlyrJS.module.scss'
 | 
					import style from './PlyrJS.module.scss'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { VideoData } from '@/meta/data';
 | 
					import { VideoData } from '@/meta/data';
 | 
				
			||||||
| 
						 | 
					@ -16,19 +18,28 @@ interface Props {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const PlyrJS: React.FC<Props> = (props) => {
 | 
					const PlyrJS: React.FC<Props> = (props) => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    const PlyrComponent = React.useMemo(() => {
 | 
					    const PlyrComponent = React.useMemo(() => {
 | 
				
			||||||
        return dynamic(() => import("plyr-react"), { ssr: false });
 | 
					        return dynamic(() => import("plyr-react").then(() => {
 | 
				
			||||||
 | 
					            return React.forwardRef((props, ref) => {
 | 
				
			||||||
 | 
					                //@ts-ignore
 | 
				
			||||||
 | 
					                const { source, options = null, ...rest } = props
 | 
				
			||||||
 | 
					                //@ts-ignore
 | 
				
			||||||
 | 
					                const raptorRef = usePlyr(ref, {
 | 
				
			||||||
 | 
					                    source,
 | 
				
			||||||
 | 
					                    options,
 | 
				
			||||||
 | 
					                })
 | 
				
			||||||
 | 
					                return <video ref={raptorRef} className="plyr-react plyr" {...rest} />
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					        }), { ssr: false });
 | 
				
			||||||
    }, []);
 | 
					    }, []);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //   const Plyr = dynamic(() => import("plyr-react"), { ssr: false });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    const { data } = props;
 | 
					    const { data } = props;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const plyrProps = {
 | 
					    const plyrProps = {
 | 
				
			||||||
        source: { type: 'video', sources: data.srcSet }, // https://github.com/sampotts/plyr#the-source-setter
 | 
					        source: { type: 'video', sources: data.srcSet }, // https://github.com/sampotts/plyr#the-source-setter
 | 
				
			||||||
        options: {
 | 
					        options: {
 | 
				
			||||||
            controls: [
 | 
					            controls: [
 | 
				
			||||||
 | 
					                'play-large',
 | 
				
			||||||
                'play', // Play/pause playback
 | 
					                'play', // Play/pause playback
 | 
				
			||||||
                'progress', // The progress bar and scrubber for playback and buffering
 | 
					                'progress', // The progress bar and scrubber for playback and buffering
 | 
				
			||||||
                'current-time', // The current time of playback
 | 
					                'current-time', // The current time of playback
 | 
				
			||||||
| 
						 | 
					@ -48,6 +59,7 @@ const PlyrJS: React.FC<Props> = (props) => {
 | 
				
			||||||
            <PlyrComponent {...plyrProps} />
 | 
					            <PlyrComponent {...plyrProps} />
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default PlyrJS;
 | 
					export default PlyrJS;
 | 
				
			||||||
		Loading…
	
		Reference in New Issue