import React, { Component } from 'react' import { Link } from 'react-router-dom' import VimeoPlayer from '@u-wave/react-vimeo' import actions from 'app/actions' import { capitalize } from 'app/utils' import { posterURL } from 'app/utils/annotation.utils' import { TextInput, LabelDescription, Select, TextArea, Checkbox, SubmitButton, Loader, FileInputField } from 'app/common' import { getVimeoMetadata } from 'app/views/editor/media/media.actions' export default class MediaVideoForm extends Component { state = { } constructor(props) { super(props) this.handleSelect = this.handleSelect.bind(this) this.handleChange = this.handleChange.bind(this) this.handleSettingsChange = this.handleSettingsChange.bind(this) this.handleUpload = this.handleUpload.bind(this) } handleChange(e) { let { name, value } = e.target return this.handleSelect(name, value) } handleSelect(name, value) { value = value.trim() if (name === 'url') { getVimeoMetadata(value) .then(data => { console.log('video metadata', data) this.props.onChange(name, value) setTimeout(() => { this.props.onSettingsChange('video', { thumbnail_url: data.thumbnail_url, duration: data.duration, video_id: data.video_id, }) }, 20) }) } else { this.props.onChange(name, value) } } handleSettingsChange(e) { let { name, value } = e.target this.props.onSettingsChange(name, value) } handleSettingsSelect(name, value) { this.props.onSettingsChange(name, value) } handleUpload(file) { console.log('uploading poster image') const uploadData = { image: file, tag: "poster", episode_id: this.props.episode_id, username: this.props.currentUser.username, } // uploadData['__image_filename'] = file.filename return actions.upload.upload(uploadData).then(data => { this.handleSettingsSelect("poster", data.res) }) } render() { const { data } = this.props const poster_url = posterURL(data) return (
{data.url && (
{poster_url && }