// @flow import { THUMBNAIL_STATUSES, MODALS } from 'lbry-redux'; import * as React from 'react'; import { FormField } 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 = { thumbnailError: boolean, }; class SelectThumbnail extends React.PureComponent { constructor() { super(); this.state = { thumbnailError: false, }; (this: any).handleThumbnailChange = this.handleThumbnailChange.bind(this); } handleThumbnailChange(e: SyntheticInputEvent<*>) { const { updatePublishForm } = this.props; const newThumbnail = e.target.value.replace(' ', ''); updatePublishForm({ thumbnail: newThumbnail }); this.setState({ thumbnailError: false }); } render() { const { thumbnail, formDisabled, uploadThumbnailStatus: status, openModal, updatePublishForm, thumbnailPath, resetThumbnailStatus, } = this.props; const { thumbnailError } = this.state; const thumbnailSrc = !thumbnail || thumbnailError ? Native.imagePath('thumbnail.png') : thumbnail; return (
{status === THUMBNAIL_STATUSES.API_DOWN || status === THUMBNAIL_STATUSES.MANUAL ? (
{__('Thumbnail { this.setState({ thumbnailError: true }); }} />
) : ( {status === THUMBNAIL_STATUSES.READY && ( openModal({ id: MODALS.CONFIRM_THUMBNAIL_UPLOAD }, { path })} /> )} {status === THUMBNAIL_STATUSES.COMPLETE && (
{__('Thumbnail

Upload complete.{' '}

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

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

} ); } } export default SelectThumbnail;