import 'fontsource-roboto' import { forwardRef, useState } from 'react' import { UnfoldMore as UnfoldMoreIcon, Close as CloseIcon, Delete as DeleteIcon } from '@material-ui/icons' import { getPeerString, humanizeSize, shortenText } from 'utils/Utils' import { torrentsHost } from 'utils/Hosts' import { NoImageIcon } from 'icons' import DialogTorrentDetailsContent from 'components/DialogTorrentDetailsContent' import Dialog from '@material-ui/core/Dialog' import Slide from '@material-ui/core/Slide' import { Button, DialogActions, DialogTitle, useMediaQuery, useTheme } from '@material-ui/core' import axios from 'axios' import ptt from 'parse-torrent-title' import { useTranslation } from 'react-i18next' import { StyledButton, TorrentCard, TorrentCardButtons, TorrentCardDescription, TorrentCardPoster } from './style' const Transition = forwardRef((props, ref) => ) export default function Torrent({ torrent }) { // eslint-disable-next-line no-unused-vars const { t } = useTranslation() const [isDetailedInfoOpened, setIsDetailedInfoOpened] = useState(false) const [isDeleteTorrentOpened, setIsDeleteTorrentOpened] = useState(false) const theme = useTheme() const fullScreen = useMediaQuery(theme.breakpoints.down('md')) const openDetailedInfo = () => setIsDetailedInfoOpened(true) const closeDetailedInfo = () => setIsDetailedInfoOpened(false) const openDeleteTorrentAlert = () => setIsDeleteTorrentOpened(true) const closeDeleteTorrentAlert = () => setIsDeleteTorrentOpened(false) const { title, name, poster, torrent_size: torrentSize, download_speed: downloadSpeed, hash } = torrent const dropTorrent = () => axios.post(torrentsHost(), { action: 'drop', hash }) const deleteTorrent = () => axios.post(torrentsHost(), { action: 'rem', hash }) const parsedTitle = (title || name) && ptt.parse(title || name).title return ( <> {poster ? poster : } {t('Details')} dropTorrent(torrent)}> {t('Drop')} {t('Delete')}
{t('Name')}
{shortenText(parsedTitle, 100)}
{t('Size')}
{torrentSize > 0 && humanizeSize(torrentSize)}
{t('Speed')}
{downloadSpeed > 0 ? humanizeSize(downloadSpeed) : '---'}
{t('Peers')}
{getPeerString(torrent) || '---'}
{t('DeleteTorrent?')} ) }