fix fly file play bug

ecloud_sso
harry 5 years ago
parent 35f36fb9be
commit 89fe95d24e

File diff suppressed because it is too large Load Diff

@ -78,6 +78,7 @@
"react-cookies": "^0.1.1", "react-cookies": "^0.1.1",
"react-dev-utils": "^5.0.0", "react-dev-utils": "^5.0.0",
"react-dom": "^16.9.0", "react-dom": "^16.9.0",
"react-flv-player": "^1.0.9",
"react-hot-loader": "^4.0.0", "react-hot-loader": "^4.0.0",
"react-infinite-scroller": "^1.2.4", "react-infinite-scroller": "^1.2.4",
"react-loadable": "^5.3.1", "react-loadable": "^5.3.1",

@ -1,12 +1,13 @@
import React,{ Component } from "react"; import React, { Component } from "react";
import { Input , Pagination } from 'antd'; import { Input, Pagination } from 'antd';
import { NoneData ,ActionBtn } from 'educoder'; import { NoneData, ActionBtn } from 'educoder';
import VideoUploadList from '../../user/usersInfo/video/VideoUploadList'; import VideoUploadList from '../../user/usersInfo/video/VideoUploadList';
import VideoInReviewItem from '../../user/usersInfo/video/VideoInReviewItem'; import VideoInReviewItem from '../../user/usersInfo/video/VideoInReviewItem';
import HeadlessModal from '../../user/usersInfo/common/HeadlessModal'; import HeadlessModal from '../../user/usersInfo/common/HeadlessModal';
import EditVideoModal from '../../user/usersInfo/video/EditVideoModal' import EditVideoModal from '../../user/usersInfo/video/EditVideoModal'
import ClipboardJS from 'clipboard' import ClipboardJS from 'clipboard'
import VideoPanel from './video-play'
import './video.css'; import './video.css';
import '../../user/usersInfo/video/InfosVideo.css' import '../../user/usersInfo/video/InfosVideo.css'
@ -15,77 +16,76 @@ import axios from 'axios';
const DEFAULT_VIDEO_WIDTH_IN_MD = "90%" // 400 const DEFAULT_VIDEO_WIDTH_IN_MD = "90%" // 400
const DEFAULT_VIDEO_HEIGHT_IN_MD = "55%" // 400 const DEFAULT_VIDEO_HEIGHT_IN_MD = "55%" // 400
const videoEl = null;
let _clipboard = null; let _clipboard = null;
class Video extends Component{ class Video extends Component {
constructor(props){ constructor(props) {
super(props); super(props);
this.state={ this.state = {
videos:undefined, videos: undefined,
count:0, count: 0,
page:1, page: 1,
videoId:undefined, videoId: undefined,
videoVisible:false, videoVisible: false,
visible:false visible: false
} }
} }
// 编辑的弹框visible // 编辑的弹框visible
setVisible=(flag)=>{ setVisible = (flag) => {
this.setState({ this.setState({
visible:flag visible: flag
}) })
} }
setVideoVisible=(flag)=>{ setVideoVisible = (flag) => {
this.setState({ this.setState({
videoVisible:flag videoVisible: flag
}) })
if (flag === false) { if (flag === false) {
if (_clipboard) { if (_clipboard) {
this.setState({ this.setState({
videoId:undefined videoId: undefined
}) })
_clipboard.listener.destroy(); _clipboard.listener.destroy();
_clipboard = null; _clipboard = null;
} }
} else { } else {
// videoEl.current && videoEl.current.play() // videoEl.current && videoEl.current.play()
setTimeout(() => { setTimeout(() => {
if (!_clipboard) { if (!_clipboard) {
_clipboard = new ClipboardJS('.copybtn'); _clipboard = new ClipboardJS('.copybtn');
_clipboard.on('success', (e) => { _clipboard.on('success', (e) => {
this.props.showNotification('复制成功'); this.props.showNotification('复制成功');
}); });
} }
}, 200) }, 200)
} }
} }
// 编辑成功后回调的方法 // 编辑成功后回调的方法
editSuccess=()=>{ editSuccess = () => {
this.props.showNotification("视频名称修改成功!"); this.props.showNotification("视频名称修改成功!");
const { listFunc , page } = this.props; const { listFunc, page } = this.props;
listFunc && listFunc(page); listFunc && listFunc(page);
} }
onEditVideo=(item)=>{ onEditVideo = (item) => {
let videoId = { let videoId = {
videoId: item.id, videoId: item.id,
title: item.title title: item.title
} }
this.setState({ this.setState({
videoId, videoId,
}) })
this.setVisible(true); this.setVisible(true);
} }
onMaskClick=(item)=> { onMaskClick = (item) => {
let videoId = { let videoId = {
videoId: item.id, videoId: item.id,
title: item.title, title: item.title,
@ -99,59 +99,59 @@ class Video extends Component{
} }
setVideoVisible=(flag)=>{ setVideoVisible = (flag) => {
this.setState({ this.setState({
videoVisible:flag videoVisible: flag
}) })
if (flag === false) { if (flag === false) {
if (_clipboard) { if (_clipboard) {
this.setState({ this.setState({
videoId:undefined videoId: undefined
}) })
_clipboard.listener.destroy(); _clipboard.listener.destroy();
_clipboard = null; _clipboard = null;
} }
} else { } else {
// videoEl.current && videoEl.current.play() // videoEl.current && videoEl.current.play()
setTimeout(() => { setTimeout(() => {
if (!_clipboard) { if (!_clipboard) {
_clipboard = new ClipboardJS('.copybtn'); _clipboard = new ClipboardJS('.copybtn');
_clipboard.on('success', (e) => { _clipboard.on('success', (e) => {
this.props.showNotification('复制成功'); this.props.showNotification('复制成功');
}); });
} }
}, 200) }, 200)
} }
} }
getCopyText = (file_url, cover_url)=>{ getCopyText = (file_url, cover_url) => {
return `<video src="${file_url}" controls="true" controlslist="nodownload" width="${DEFAULT_VIDEO_WIDTH_IN_MD}" height="${DEFAULT_VIDEO_HEIGHT_IN_MD}" poster="${cover_url}">您的浏览器不支持 video 标签。</video>` return `<video src="${file_url}" controls="true" controlslist="nodownload" width="${DEFAULT_VIDEO_WIDTH_IN_MD}" height="${DEFAULT_VIDEO_HEIGHT_IN_MD}" poster="${cover_url}">您的浏览器不支持 video 标签。</video>`
} }
// 删除事件 // 删除事件
deleteVideo=(item)=>{ deleteVideo = (item) => {
this.props.confirm({ this.props.confirm({
content: '该视频将被删除,不可恢复', content: '该视频将被删除,不可恢复',
subContent:'是否确认删除?', subContent: '是否确认删除?',
onOk: () => { onOk: () => {
const CourseId=this.props.match.params.coursesId; const CourseId = this.props.match.params.coursesId;
const url = `/courses/${CourseId}/delete_course_video.json`; const url = `/courses/${CourseId}/delete_course_video.json`;
axios.delete(url,{ axios.delete(url, {
params:{ params: {
video_id:item.id video_id: item.id
} }
}).then(result=>{ }).then(result => {
if(result){ if (result) {
this.props.showNotification(`删除成功!`); this.props.showNotification(`删除成功!`);
this.props.updataleftNavfun(); this.props.updataleftNavfun();
const { listFunc , page } = this.props; const { listFunc, page } = this.props;
listFunc && listFunc(page); listFunc && listFunc(page);
} }
}).catch(error=>{ }).catch(error => {
console.log(error); console.log(error);
}) })
}, },
@ -161,90 +161,82 @@ class Video extends Component{
}); });
} }
render(){ render() {
const { visible , videoVisible , videoId } = this.state; const { visible, videoVisible, videoId } = this.state;
const CourseId=this.props.match.params.coursesId; const CourseId = this.props.match.params.coursesId;
const login=this.props.user&&this.props.user.login; const login = this.props.user && this.props.user.login;
const _inputValue = videoId && this.getCopyText(videoId.file_url, videoId.cover_url); const _inputValue = videoId && this.getCopyText(videoId.file_url, videoId.cover_url);
const { admin , is_teacher ,business , user_id} = this.props.user; const { admin, is_teacher, business, user_id } = this.props.user;
const { videos , upload , uploadVideo , videoData , changePage ,pageSize ,page } = this.props; const { videos, upload, uploadVideo, videoData, changePage, pageSize, page } = this.props;
const operation = admin || business || (is_teacher && this.props.checkIfProfessionalCertification()) const operation = admin || business || (is_teacher && this.props.checkIfProfessionalCertification())
return( return (
<div> <div>
<EditVideoModal {...this.props} visible={visible} setVisible={this.setVisible} <EditVideoModal {...this.props} visible={visible} setVisible={this.setVisible}
editSuccess={this.editSuccess} editSuccess={this.editSuccess}
{...videoId} CourseUser={login} {...videoId} CourseUser={login}
></EditVideoModal> ></EditVideoModal>
<HeadlessModal <HeadlessModal
visible={videoVisible} visible={videoVisible}
setVisible={this.setVideoVisible} setVisible={this.setVideoVisible}
className="showVideoModal" className="showVideoModal"
width={800 - 1} width={800 - 1}
> >
{ {videoId && <VideoPanel src={videoId.file_url} />}
videoId &&
<video <div className="df copyLine">
autoplay="true" <Input value={_inputValue}
ref={videoEl} className="dark"
src={videoId.file_url} controls="true" controlslist="nodownload"> ></Input>
您的浏览器不支持 video 标签 <ActionBtn className="copybtn" data-clipboard-text={_inputValue}>复制视频地址</ActionBtn>
</video> </div>
} </HeadlessModal>
<div className="df copyLine">
<Input value={_inputValue}
className="dark"
></Input>
<ActionBtn className="copybtn" data-clipboard-text={_inputValue}>复制视频地址</ActionBtn>
</div>
</HeadlessModal>
<div className="videoPanel"> <div className="videoPanel">
{ {
upload ? upload ?
<VideoUploadList {...this.props} flag={true} CourseId={CourseId} CourseUser={login} successFunc={()=>uploadVideo()}></VideoUploadList> <VideoUploadList {...this.props} flag={true} CourseId={CourseId} CourseUser={login} successFunc={() => uploadVideo()}></VideoUploadList>
: :
<React.Fragment> <React.Fragment>
{ {
videos && videos.length > 0 ? videos && videos.length > 0 ?
<React.Fragment> <React.Fragment>
<p className="font-grey-9 mt20 mb20 pl5"> <span className="color-orange">{videoData && videoData.count}</span> </p> <p className="font-grey-9 mt20 mb20 pl5"> <span className="color-orange">{videoData && videoData.count}</span> </p>
<div className="videoContent"> <div className="videoContent">
{ {
videos.map((item,key)=>{ videos.map((item, key) => {
return( return (
<VideoInReviewItem <VideoInReviewItem
{...this.props} {...this.props}
{...item} {...item}
key={item.id} key={item.id}
onEditVideo={this.onEditVideo} onEditVideo={this.onEditVideo}
onMaskClick={this.onMaskClick} onMaskClick={this.onMaskClick}
getCopyText={this.getCopyText} getCopyText={this.getCopyText}
operation={operation} operation={operation}
deleteVideo={(admin || item.user_id === user_id) ? this.deleteVideo : undefined} deleteVideo={(admin || item.user_id === user_id) ? this.deleteVideo : undefined}
> >
</VideoInReviewItem> </VideoInReviewItem>
) )
}) })
} }
</div>
</React.Fragment>
:
<div className="edu-back-white">
<NoneData style={{ width: '100%' }}></NoneData>
</div>
}
{
videoData && videoData.count > pageSize &&
<div className="mt30 mb50 edu-txt-center">
<Pagination showQuickJumper total={videoData.count} current={page} pageSize={pageSize} onChange={(page) => changePage(page, 'video')}></Pagination>
</div> </div>
</React.Fragment> }
: </React.Fragment>
<div className="edu-back-white">
<NoneData style={{width: '100%'}}></NoneData>
</div>
}
{
videoData && videoData.count > pageSize &&
<div className="mt30 mb50 edu-txt-center">
<Pagination showQuickJumper total={videoData.count} current={page} pageSize={pageSize} onChange={(page)=>changePage(page,'video')}></Pagination>
</div>
}
</React.Fragment>
} }
</div> </div>
</div> </div>

@ -0,0 +1,18 @@
import React, { Fragment } from 'react'
import { ReactFlvPlayer } from 'react-flv-player'
export default ({ src }) => {
const suf = src.split('.').pop()
const isFlv = suf === 'flv'
return (
<Fragment>
{
isFlv ? <ReactFlvPlayer url={src} isMuted={true} /> : <video src={src} controls autoPlay={true} controlsList="nodownload">
<source type={`video/${suf}`} src={src} />
您的浏览器不支持 video 标签
</video>
}
</Fragment>
)
}

@ -1,16 +1,15 @@
import React, { useState, useEffect, useContext, useRef, memo } from 'react'; import React, { useState, useEffect, useContext, useRef, memo } from 'react';
import {Link} from 'react-router-dom'; import { Pagination, Input, Button } from 'antd'
import {Pagination, Input, Button} from 'antd' import { ThemeContext, ActionBtn, NoneData } from 'educoder'
import { getUrl2, isDev, ThemeContext, ActionBtn, NoneData } from 'educoder'
import axios from 'axios' import axios from 'axios'
import VideoInReviewItem from './VideoInReviewItem' import VideoInReviewItem from './VideoInReviewItem'
import EditVideoModal from './EditVideoModal' import EditVideoModal from './EditVideoModal'
import './InfosVideo.css' import './InfosVideo.css'
import InfoTab from '../common/InfoTab' import InfoTab from '../common/InfoTab'
import HeadlessModal from '../common/HeadlessModal' import HeadlessModal from '../common/HeadlessModal'
import CRoundSelect from '../common/CRoundSelect'
import ClipboardJS from 'clipboard' import ClipboardJS from 'clipboard'
import VideoPlay from '../../../courses/Video/video-play';
function useModal(initValue) { function useModal(initValue) {
const [visible, setVisible] = useState(initValue) const [visible, setVisible] = useState(initValue)
@ -45,11 +44,11 @@ const DEFAULT_VIDEO_WIDTH_IN_MD = "90%" // 400
const DEFAULT_VIDEO_HEIGHT_IN_MD = "55%" // 400 const DEFAULT_VIDEO_HEIGHT_IN_MD = "55%" // 400
let videoId = {}; let videoId = {};
let _clipboard = null; let _clipboard = null;
const _items=[ const _items = [
{key: 'published_at-desc', name: '最新上传'}, { key: 'published_at-desc', name: '最新上传' },
{key: 'published_at-asc', name: '最早上传'}, { key: 'published_at-asc', name: '最早上传' },
] ]
function InfoVideo (props) { function InfoVideo(props) {
const [videos, setvideos] = useState(undefined) const [videos, setvideos] = useState(undefined)
const [reviewvideos, setReviewvideos] = useState(undefined) const [reviewvideos, setReviewvideos] = useState(undefined)
const [count, setCount] = useState(0) const [count, setCount] = useState(0)
@ -80,30 +79,30 @@ function InfoVideo (props) {
const fetchUrl = `/users/${username}/videos.json` const fetchUrl = `/users/${username}/videos.json`
const sorts = sortKey.split('-') const sorts = sortKey.split('-')
setLoading(true) setLoading(true)
axios.get(fetchUrl, { axios.get(fetchUrl, {
params: { params: {
page: pageObj.current, page: pageObj.current,
per_page: PAGE_SIZE, per_page: PAGE_SIZE,
sort_by: sorts[0], sort_by: sorts[0],
sort_direction: sorts[1], sort_direction: sorts[1],
// //
} }
}) })
.then((response) => { .then((response) => {
setLoading(false) setLoading(false)
if (response.data.videos) { if (response.data.videos) {
setvideos(response.data.videos) setvideos(response.data.videos)
setCount(response.data.count) setCount(response.data.count)
} }
}).catch(() => { }).catch(() => {
setLoading(false) setLoading(false)
}) })
} }
function fetchReviewvideos() { function fetchReviewvideos() {
const fetchUrl = `/users/${username}/videos/review.json` const fetchUrl = `/users/${username}/videos/review.json`
const sorts = sortKey.split('-') const sorts = sortKey.split('-')
setLoading(true) setLoading(true)
axios.get(fetchUrl, { axios.get(fetchUrl, {
params: { params: {
page: pageObj.current, page: pageObj.current,
per_page: PAGE_SIZE, per_page: PAGE_SIZE,
@ -111,15 +110,15 @@ function InfoVideo (props) {
sort_direction: sorts[1], sort_direction: sorts[1],
} }
}) })
.then((response) => { .then((response) => {
setLoading(false) setLoading(false)
if (response.data.videos) { if (response.data.videos) {
setReviewvideos(response.data.videos) setReviewvideos(response.data.videos)
setCount(response.data.count) setCount(response.data.count)
} }
}).catch(() => { }).catch(() => {
}) })
} }
useEffect(() => { useEffect(() => {
@ -130,7 +129,7 @@ function InfoVideo (props) {
fetchReviewvideos() fetchReviewvideos()
} }
} else { } else {
pageObj.onChange(1) pageObj.onChange(1)
} }
}, [categoryObj.category]) }, [categoryObj.category])
@ -140,7 +139,7 @@ function InfoVideo (props) {
} else { } else {
fetchReviewvideos() fetchReviewvideos()
} }
}, [ pageObj.current, sortKey ]) }, [pageObj.current, sortKey])
useEffect(() => { useEffect(() => {
if (videoModalObj.visible == false) { if (videoModalObj.visible == false) {
@ -158,9 +157,9 @@ function InfoVideo (props) {
_clipboard = new ClipboardJS('.copybtn'); _clipboard = new ClipboardJS('.copybtn');
_clipboard.on('success', (e) => { _clipboard.on('success', (e) => {
showNotification('复制成功') showNotification('复制成功')
}); });
} }
}, 200) }, 200)
} }
}, [videoModalObj.visible]) }, [videoModalObj.visible])
@ -173,7 +172,7 @@ function InfoVideo (props) {
} }
function onEditVideo(item) { function onEditVideo(item) {
videoId = { videoId = {
videoId: item.id, videoId: item.id,
title: item.title title: item.title
} }
@ -182,7 +181,7 @@ function InfoVideo (props) {
// this.refs['editVideoModal'].setVisible(true, video); // this.refs['editVideoModal'].setVisible(true, video);
} }
function onMaskClick(item) { function onMaskClick(item) {
videoId = { videoId = {
videoId: item.id, videoId: item.id,
title: item.title, title: item.title,
file_url: item.file_url, file_url: item.file_url,
@ -219,12 +218,12 @@ function InfoVideo (props) {
} }
function getCopyText (file_url, cover_url) { function getCopyText(file_url, cover_url) {
return `<video src="${file_url}" controls="true" controlslist="nodownload" width="${DEFAULT_VIDEO_WIDTH_IN_MD}" height="${DEFAULT_VIDEO_HEIGHT_IN_MD}" poster="${cover_url}">您的浏览器不支持 video 标签。</video>` return `<video src="${file_url}" controls="true" controlslist="nodownload" width="${DEFAULT_VIDEO_WIDTH_IN_MD}" height="${DEFAULT_VIDEO_HEIGHT_IN_MD}" poster="${cover_url}">您的浏览器不支持 video 标签。</video>`
} }
const _inputValue = getCopyText(videoId.file_url, videoId.cover_url); const _inputValue = getCopyText(videoId.file_url, videoId.cover_url);
const sorts = sortKey.split('-') const sorts = sortKey.split('-')
return ( return (
<div className="educontent infoVideo"> <div className="educontent infoVideo">
@ -238,12 +237,7 @@ function InfoVideo (props) {
className="showVideoModal" className="showVideoModal"
width={800 - 1} width={800 - 1}
> >
<video <VideoPlay src={videoId.file_url} />
autoplay="true"
ref={videoEl}
src={videoId.file_url} controls="true" controlslist="nodownload">
您的浏览器不支持 video 标签
</video>
<div className="df copyLine"> <div className="df copyLine">
<Input value={_inputValue} <Input value={_inputValue}
className="dark" className="dark"
@ -318,130 +312,130 @@ function InfoVideo (props) {
onClick={() => { toUpload() }} onClick={() => { toUpload() }}
className="toUploadBtn" className="toUploadBtn"
> >
上传视频 上传视频
</Button> </Button>
} }
></InfoTab> ></InfoTab>
<div className="toolbarRow df" style={{ <div className="toolbarRow df" style={{
lineHeight: "40px", lineHeight: "40px",
}}> }}>
<span> <span>
<span style={{color: theme.foreground_orange1}}> {count} </span> <span style={{ color: theme.foreground_orange1 }}> {count} </span>
个视频 个视频
</span> </span>
{/*{categoryObj.category == 'all' && <CRoundSelect {...props}*/} {/*{categoryObj.category == 'all' && <CRoundSelect {...props}*/}
{/*width={'90px'}*/} {/*width={'90px'}*/}
{/*items={_items}*/} {/*items={_items}*/}
{/*onSortChange={onSortChange}*/} {/*onSortChange={onSortChange}*/}
{/*sortKey={sortKey }*/} {/*sortKey={sortKey }*/}
{/*></CRoundSelect>}*/} {/*></CRoundSelect>}*/}
{categoryObj.category == 'all' &&<div className="fr"> {categoryObj.category == 'all' && <div className="fr">
<li className="drop_down"> <li className="drop_down">
<span className="color-grey-9 font-12" style={{ <span className="color-grey-9 font-12" style={{
marginRight: " 5px", marginRight: " 5px",
}}>{"最新上传"}</span> }}>{"最新上传"}</span>
<sapn className="relativef color-grey-9 fr" <sapn className="relativef color-grey-9 fr"
style={{ style={{
display: "flex", display: "flex",
flexDirection: "column", flexDirection: "column",
height: "40px", height: "40px",
lineHeight: "40px", lineHeight: "40px",
}} }}
> >
<span <span
style={{ style={{
flexDirection: "column", flexDirection: "column",
textAlign: "center", textAlign: "center",
height: "10px", height: "10px",
lineHeight: "10px", lineHeight: "10px",
display: "table", display: "table",
marginTop: "9px", marginTop: "9px",
}} }}
> >
<i className={sorts[1] === "asc" ? <i className={sorts[1] === "asc" ?
"iconfont icon-sanjiaoxing-up font-12 color-blue h10 " : "iconfont icon-sanjiaoxing-up font-12 h10"} "iconfont icon-sanjiaoxing-up font-12 color-blue h10 " : "iconfont icon-sanjiaoxing-up font-12 h10"}
onClick={() => onSortChange("published_at-asc", 0)}></i> onClick={() => onSortChange("published_at-asc", 0)}></i>
</span> </span>
<span <span
style={{ style={{
flexDirection: "column", flexDirection: "column",
height: "10px", height: "10px",
lineHeight: "10px", lineHeight: "10px",
textAlign: "center", textAlign: "center",
display: "table", display: "table",
}} }}
> >
<i className={sorts[1] === "desc" ? <i className={sorts[1] === "desc" ?
"iconfont icon-sanjiaoxing-down font-12 yslbottomsj color-blue h10" : "iconfont icon-sanjiaoxing-down font-12 yslbottomsj h10"} "iconfont icon-sanjiaoxing-down font-12 yslbottomsj color-blue h10" : "iconfont icon-sanjiaoxing-down font-12 yslbottomsj h10"}
onClick={() => onSortChange("published_at-desc", 0)}></i> onClick={() => onSortChange("published_at-desc", 0)}></i>
</span> </span>
</sapn> </sapn>
</li> </li>
</div>} </div>}
</div> </div>
{categoryObj.category == 'all' ? {categoryObj.category == 'all' ?
<div className="itemWrap"> <div className="itemWrap">
{ {
videos == undefined ? '' : videos == undefined ? '' :
videos.length ? videos.length ?
videos.map((item, index) => { videos.map((item, index) => {
return (<VideoInReviewItem return (<VideoInReviewItem
{...props} {...props}
{...item} {...item}
key={item.id} key={item.id}
onEditVideo={onEditVideo} onEditVideo={onEditVideo}
onMaskClick={onMaskClick} onMaskClick={onMaskClick}
getCopyText={getCopyText} getCopyText={getCopyText}
> >
</VideoInReviewItem>) </VideoInReviewItem>)
}) })
: <NoneData style={{width: '100%'}}></NoneData> : <NoneData style={{ width: '100%' }}></NoneData>
} }
</div> </div>
: :
<div className="itemWrap"> <div className="itemWrap">
{ {
reviewvideos == undefined ? '' : reviewvideos == undefined ? '' :
reviewvideos.length ? reviewvideos.length ?
reviewvideos.map((item, index) => { reviewvideos.map((item, index) => {
return (<VideoInReviewItem return (<VideoInReviewItem
{...props} {...props}
{...item} {...item}
key={item.id} key={item.id}
isReview={true} isReview={true}
> >
</VideoInReviewItem>) </VideoInReviewItem>)
}) })
: <NoneData style={{width: '100%'}}></NoneData> : <NoneData style={{ width: '100%' }}></NoneData>
} }
</div> </div>
} }
{/* categoryObj.category == 'all' && */} {/* categoryObj.category == 'all' && */}
{ {
count > PAGE_SIZE && count > PAGE_SIZE &&
<div className="mt30 mb50 edu-txt-center"> <div className="mt30 mb50 edu-txt-center">
<Pagination showQuickJumper total={count} pageSize={PAGE_SIZE} <Pagination showQuickJumper total={count} pageSize={PAGE_SIZE}
{...pageObj} {...pageObj}
/> />
</div> </div>
} }
</div> </div>
) )
} }

Loading…
Cancel
Save