import { useTranslation } from 'react-i18next' import { NoImageIcon } from 'icons' import { IconButton, InputAdornment, TextField } from '@material-ui/core' import { CheckBox as CheckBoxIcon } from '@material-ui/icons' import { ClearPosterButton, PosterLanguageSwitch, RightSide, Poster, PosterSuggestions, PosterSuggestionsItem, PosterWrapper, RightSideContainer, } from './style' import { checkImageURL } from './helpers' export default function RightSideComponent({ setTitle, setPosterUrl, setIsPosterUrlCorrect, setIsUserInteractedWithPoster, setPosterList, isTorrentSourceCorrect, title, parsedTitle, posterUrl, isPosterUrlCorrect, posterList, currentLang, posterSearchLanguage, setPosterSearchLanguage, posterSearch, removePoster, torrentSource, originalTorrentTitle, updateTitleFromSource, isCustomTitleEnabled, setIsCustomTitleEnabled, }) { const { t } = useTranslation() const handleTitleChange = ({ target: { value } }) => setTitle(value) const handlePosterUrlChange = ({ target: { value } }) => { setPosterUrl(value) checkImageURL(value).then(setIsPosterUrlCorrect) setIsUserInteractedWithPoster(!!value) setPosterList() } const userChangesPosterUrl = url => { setPosterUrl(url) checkImageURL(url).then(setIsPosterUrlCorrect) setIsUserInteractedWithPoster(true) } return ( {originalTorrentTitle ? ( <> setIsCustomTitleEnabled(true)} onBlur={({ target: { value } }) => !value && setIsCustomTitleEnabled(false)} value={title} margin='dense' label='Использовать свое название (не обязательно)' type='text' fullWidth InputProps={{ endAdornment: ( { setTitle('') setIsCustomTitleEnabled(!isCustomTitleEnabled) updateTitleFromSource() setIsUserInteractedWithPoster(false) }} > ), }} /> ) : ( )} {isPosterUrlCorrect ? poster : } {posterList ?.filter(url => url !== posterUrl) .slice(0, 12) .map(url => ( userChangesPosterUrl(url)} key={url}> poster ))} {currentLang !== 'en' && ( { const newLanguage = posterSearchLanguage === 'en' ? 'ru' : 'en' setPosterSearchLanguage(newLanguage) posterSearch(isCustomTitleEnabled ? title : originalTorrentTitle ? parsedTitle : title, newLanguage, { shouldRefreshMainPoster: true, }) }} showbutton={+isPosterUrlCorrect} color='primary' variant='contained' size='small' > {posterSearchLanguage === 'en' ? 'EN' : 'RU'} )} { removePoster() setIsUserInteractedWithPoster(true) }} color='primary' variant='contained' size='small' > {t('Clear')} ) }