diff --git a/src/widgets/torrent/TorrentQueueItem.tsx b/src/widgets/torrent/TorrentQueueItem.tsx index ff791d3f3..0909f706c 100644 --- a/src/widgets/torrent/TorrentQueueItem.tsx +++ b/src/widgets/torrent/TorrentQueueItem.tsx @@ -2,12 +2,16 @@ import { NormalizedTorrent } from '@ctrl/shared-torrent'; import { Badge, + Divider, Flex, Group, + List, MantineColor, Popover, Progress, + Stack, Text, + Title, useMantineTheme, } from '@mantine/core'; import { useDisclosure, useElementSize } from '@mantine/hooks'; @@ -41,7 +45,13 @@ export const BitTorrrentQueueItem = ({ torrent, app }: TorrentQueueItemProps) => return ( - + @@ -114,7 +124,6 @@ const TorrentQueuePopover = ({ torrent, app }: TorrentQueueItemProps) => { }; return ( - Ratio - @@ -127,7 +136,7 @@ const TorrentQueuePopover = ({ torrent, app }: TorrentQueueItemProps) => { }; return ( - <> + {app && ( @@ -139,54 +148,71 @@ const TorrentQueuePopover = ({ torrent, app }: TorrentQueueItemProps) => { )} - - {torrent.name} - - - - - - {t('card.popover.metrics.queuePosition', { position: torrent.queuePosition })} - - - - - - {t('card.popover.metrics.progress', { progress: (torrent.progress * 100).toFixed(2) })} - - - - - - {t('card.popover.metrics.totalSelectedSize', { - totalSize: humanFileSize(torrent.totalSelected), - })} - - - - - - {humanFileSize(torrent.totalDownloaded)} - - - - {humanFileSize(torrent.totalUploaded)} - - - - - - {t('card.popover.metrics.state', { state: torrent.stateMessage })} - - - - {torrent.label && {torrent.label}} - {torrent.isCompleted && ( - - {t('card.popover.metrics.completed')} - + {torrent.name} + + }> + + + }> + + + {t('card.popover.metrics.queuePosition', { position: torrent.queuePosition })} + + + + }> + + + {t('card.popover.metrics.progress', { + progress: (torrent.progress * 100).toFixed(2), + })} + + + + + }> + + {t('card.popover.metrics.totalSelectedSize', { + totalSize: humanFileSize(torrent.totalSelected), + })} + + + }> + + {humanFileSize(torrent.totalDownloaded)} + + + {humanFileSize(torrent.totalUploaded)} + + + }> + + {t('card.popover.metrics.state', { + state: torrent.stateMessage !== '' ? torrent.stateMessage : torrent.state, + })} + + + {(torrent.label || torrent.isCompleted) && ( + + + {torrent.label && {torrent.label}} + {torrent.isCompleted && ( + + {t('card.popover.metrics.completed')} + + )} + + )} - - + + ); };