diff --git a/src/components/CardCompact.js b/src/components/CardCompact.js index f55c3f8..71f5ccf 100644 --- a/src/components/CardCompact.js +++ b/src/components/CardCompact.js @@ -1,22 +1,22 @@ import React from 'react'; import {Card} from 'react-bootstrap'; +import {getCardContent} from "./contentCard"; const CardCompact = ({item}) => { - const image = item?.images?.length > 0 ? item.images[0]?.remoteUrl : null; - const rating = item.ratings?.imdb?.value ?? null; - const status = (item.monitored || item.hasFile) ? ( - item.hasFile ? "Статус: Загружен" : "Статус: Загружается" - ) : null; + const cc = getCardContent(item); + return ( - + {item.title}
Год: {item.year}
-
Рейтинг: {rating}
- {status ?
{status}
: null} - {item.sizeOnDisk ?
Размер: {(item.sizeOnDisk / 1000000000).toFixed(2)} Gb
: null} +
Рейтинг: {cc.rating}
+ {cc.status ?
{cc.status}
: null} + {cc.size ?
Размер: {cc.size} Gb
: null} + {(item?.statistics?.seasonCount ?
Сезоны: {item.statistics.seasonCount}
: null)} + {cc.series ?
Серии: {cc.series}
: null}
diff --git a/src/components/CardExtend.js b/src/components/CardExtend.js index 9a8014d..78e0c63 100644 --- a/src/components/CardExtend.js +++ b/src/components/CardExtend.js @@ -1,20 +1,21 @@ import React from 'react'; import {Button, Card, Col, Row} from 'react-bootstrap'; +import {getCardContent} from "./contentCard"; const CardExtended = ({item, selectHandle}) => { - const rating = item.ratings?.imdb?.value ?? null; + const cc = getCardContent(item); return ( selectHandle(item)}> - + {item.title} Год: {item.year}
- Рейтинг: {rating}
+ Рейтинг: {cc.rating}
{item.overview}
diff --git a/src/components/contentCard.js b/src/components/contentCard.js new file mode 100644 index 0000000..6c07656 --- /dev/null +++ b/src/components/contentCard.js @@ -0,0 +1,30 @@ +export const getCardContent = (item) => { + let result = { + image: item?.images?.length > 0 ? item.images[0]?.remoteUrl : null, + rating: item.ratings?.imdb?.value ?? null, + status: null, + size: null, + series: null, + }; + + if (item.sizeOnDisk) { + result.size = item.sizeOnDisk / 1000000000; + } + + if (item.monitored || item.hasFile) { + result.status = item.hasFile ? "Статус: Загружен" : "Статус: Загружается" + } + + if (item.statistics) { + const stat = item.statistics + result.status = stat.percentOfEpisodes === 100 ? "Статус: Загружен" : "Статус: Загружается" + + result.series = `${stat.episodeFileCount}/${stat.totalEpisodeCount}` + + if (stat.sizeOnDisk) { + result.size = (stat.sizeOnDisk / 1000000000).toFixed(2); + } + } + + return result; +} \ No newline at end of file