// @flow import { THUMBNAIL_STATUSES, MODALS } from 'lbry-redux'; import React from 'react'; import { FormField, FormRow } from 'component/common/form'; import FileSelector from 'component/common/file-selector'; import Button from 'component/button'; import Native from 'native'; type Props = { thumbnail: ?string, formDisabled: boolean, uploadThumbnailStatus: string, thumbnailPath: ?string, openModal: ({ id: string }, {}) => void, updatePublishForm: ({}) => void, resetThumbnailStatus: () => void, }; type State = { thumbnailValid: boolean, } class SelectThumbnail extends React.PureComponent { constructor() { super(); this.state = { thumbnailValid: false, }; (this: any).handleThumbnailChange = this.handleThumbnailChange.bind(this); } handleThumbnailChange(e) { const { updatePublishForm } = this.props; const newThumbnail = e.target.value.replace(' ', ''); updatePublishForm({ thumbnail: newThumbnail }); this.setState({ thumbnailValid: true }) } render() { const { thumbnail, formDisabled, uploadThumbnailStatus: status, openModal, updatePublishForm, thumbnailPath, resetThumbnailStatus, } = this.props; const { thumbnailValid } = this.state; return (
{status === THUMBNAIL_STATUSES.API_DOWN || status === THUMBNAIL_STATUSES.MANUAL ? (
Thumbnail Preview { this.setState({ thumbnailValid: false }) }} />
) : (
{status === THUMBNAIL_STATUSES.READY && ( openModal({ id: MODALS.CONFIRM_THUMBNAIL_UPLOAD }, { path })} /> )} {status === THUMBNAIL_STATUSES.COMPLETE && (

Upload complete.{' '}

)}
)}
{status === THUMBNAIL_STATUSES.READY && (
{status === THUMBNAIL_STATUSES.IN_PROGRESS &&

{__('Uploading thumbnail')}...

}
); } } export default SelectThumbnail;