import React from 'react' import YouTube from 'react-youtube' import { getActivityMediaDirectory } from '@services/media/media' import { useOrg } from '@components/Contexts/OrgContext' import LearnHousePlayer from './LearnHousePlayer' interface VideoDetails { startTime?: number endTime?: number | null autoplay?: boolean muted?: boolean } interface VideoActivityProps { activity: { activity_sub_type: string activity_uuid: string content: { filename?: string uri?: string } details?: VideoDetails } course: { course_uuid: string } } function VideoActivity({ activity, course }: VideoActivityProps) { const org = useOrg() as any const [videoId, setVideoId] = React.useState('') React.useEffect(() => { if (activity?.content?.uri) { var getYouTubeID = require('get-youtube-id') setVideoId(getYouTubeID(activity.content.uri)) } }, [activity, org]) const getVideoSrc = () => { if (!activity.content?.filename) return '' return getActivityMediaDirectory( org?.org_uuid, course?.course_uuid, activity.activity_uuid, activity.content.filename, 'video' ) } return (
{activity && ( <> {console.log('Activity type:', activity.activity_sub_type)} {console.log('Video source:', getVideoSrc())} {activity.activity_sub_type === 'SUBTYPE_VIDEO_HOSTED' && (
{(() => { const src = getVideoSrc() return src ? ( ) : null })()}
)} {activity.activity_sub_type === 'SUBTYPE_VIDEO_YOUTUBE' && (
{ if (activity.details?.startTime) { event.target.seekTo(activity.details.startTime, true) } }} />
)} )}
) } export default VideoActivity