// @flow import * as React from 'react'; import Card from 'component/common/card'; import ThumbnailMissingImage from './thumbnail-missing.png'; import SelectAsset from 'component/selectAsset'; type Props = { // uploadThumbnailStatus: string, thumbnailParam: string, thumbnailForUri: string, updateThumbnailParam: (string) => void, inline?: boolean, }; const ThumbnailPicker = (props: Props) => { const { thumbnailForUri, thumbnailParam, updateThumbnailParam, inline } = props; // uploadThumbnailStatus // {status === THUMBNAIL_STATUSES.API_DOWN || status === THUMBNAIL_STATUSES.MANUAL ? ( // {status === THUMBNAIL_STATUSES.READY && ( // {status === THUMBNAIL_STATUSES.COMPLETE && thumbnail && ( const [thumbError, setThumbError] = React.useState(false); // possibly existing URL const updateThumb = (thumb: string) => { setThumbError(false); updateThumbnailParam(thumb); }; if (inline) { return ( <fieldset-section> <label>{__('Thumbnail')}</label> <div className="column"> {thumbError && ( <div className="column__item thumbnail-picker__preview" style={{ backgroundImage: `url(${ThumbnailMissingImage})` }} /> )} {!thumbError && ( <div className="column__item thumbnail-picker__preview" style={{ backgroundImage: `url(${thumbnailParam || thumbnailForUri})` }} > <img style={{ display: 'none' }} src={thumbnailParam || thumbnailForUri} alt={__('Thumbnail Preview')} onError={() => { if (thumbnailParam) { setThumbError(true); } }} /> </div> )} <div className="column__item"> {/* if upload */} <SelectAsset inline onUpdate={updateThumb} currentValue={thumbnailParam} assetName={'Image'} recommended={__('(16:9)')} /> </div> </div> </fieldset-section> ); } return ( <div> <Card body={ <div className="column"> {thumbError && ( <div className="column__item thumbnail-preview" style={{ backgroundImage: `url(${ThumbnailMissingImage})` }} /> )} {!thumbError && ( <div className="column__item thumbnail-preview" style={{ backgroundImage: `url(${thumbnailParam || thumbnailForUri})` }} > <img style={{ display: 'none' }} src={thumbnailParam || thumbnailForUri} alt={__('Thumbnail Preview')} onError={() => { if (thumbnailParam) { setThumbError(true); } }} /> </div> )} <div className="column__item"> {/* if upload */} <SelectAsset inline onUpdate={updateThumb} currentValue={thumbnailParam} assetName={'Thumbnail'} recommended={__('(16:9)')} /> </div> </div> } /> </div> ); }; export default ThumbnailPicker;