import {__, _x, _n, _nx} from '@wordpress/i18n'; import Card from 'react-bootstrap/Card'; import {useState} from '@wordpress/element'; import Row from 'react-bootstrap/Row'; import Col from 'react-bootstrap/Col'; import {VideoLength, VideoViews, VideoSize} from './VideoAttributes'; import VideoModal from './VideoModal'; import ProgressBar from 'react-bootstrap/ProgressBar'; import DeleteModal from './DeleteModal'; function VideoCard({video, videos, setVideos, selectVideo}) { const getThumbnail = (file) => { return IUP_VIDEO.cdnUrl + '/' + video.guid + '/' + file; }; const [src, setSrc] = useState(getThumbnail(video.thumbnailFileName)); const statusLabels = { 0: __('Awaiting Upload', 'infinite-uploads'), 1: __('Uploaded', 'infinite-uploads'), 2: __('Processing', 'infinite-uploads'), 3: __('Transcoding', 'infinite-uploads'), 4: __('Finished', 'infinite-uploads'), 5: __('Error', 'infinite-uploads'), 6: __('Upload Failed', 'infinite-uploads'), }; const status = statusLabels[video.status]; if ([0, 1, 5, 6].includes(video.status)) { return ( {status} {video.title} {!selectVideo && ( )} ); } else if ([2].includes(video.status)) { //processing return ( {status} {video.title} {__('Processing', 'infinite-uploads')}: ); } else { return ( setSrc(getThumbnail('preview.webp')) } onMouseOut={() => setSrc( getThumbnail(video.thumbnailFileName) ) } > {video.title} {video.status === 3 ? ( {__('Transcoding', 'infinite-uploads')}: ) : ( )} ); } } export default VideoCard;