diff --git a/frontend/src/Helpers/Props/filterBuilderValueTypes.js b/frontend/src/Helpers/Props/filterBuilderValueTypes.js index cacc24fda..0490975a6 100644 --- a/frontend/src/Helpers/Props/filterBuilderValueTypes.js +++ b/frontend/src/Helpers/Props/filterBuilderValueTypes.js @@ -8,4 +8,5 @@ export const PROTOCOL = 'protocol'; export const QUALITY = 'quality'; export const QUALITY_PROFILE = 'qualityProfile'; export const SERIES_STATUS = 'seriesStatus'; +export const SERIES_TYPES = 'seriesType'; export const TAG = 'tag'; diff --git a/frontend/src/Series/Index/Table/SeriesIndexHeader.css b/frontend/src/Series/Index/Table/SeriesIndexHeader.css index 4378c53b3..dc41ef595 100644 --- a/frontend/src/Series/Index/Table/SeriesIndexHeader.css +++ b/frontend/src/Series/Index/Table/SeriesIndexHeader.css @@ -14,6 +14,12 @@ flex: 0 0 379px; } +.seriesType { + composes: headerCell from 'Components/Table/VirtualTableHeaderCell.css'; + + flex: 0 0 100px; +} + .network { composes: headerCell from 'Components/Table/VirtualTableHeaderCell.css'; diff --git a/frontend/src/Series/Index/Table/SeriesIndexRow.css b/frontend/src/Series/Index/Table/SeriesIndexRow.css index 2513e1913..8e3842c59 100644 --- a/frontend/src/Series/Index/Table/SeriesIndexRow.css +++ b/frontend/src/Series/Index/Table/SeriesIndexRow.css @@ -17,6 +17,12 @@ flex: 4 0 110px; } +.seriesType { + composes: cell; + + flex: 0 0 100px; +} + .banner { flex: 0 0 379px; } diff --git a/frontend/src/Series/Index/Table/SeriesIndexRow.js b/frontend/src/Series/Index/Table/SeriesIndexRow.js index b36926c46..a704bad41 100644 --- a/frontend/src/Series/Index/Table/SeriesIndexRow.js +++ b/frontend/src/Series/Index/Table/SeriesIndexRow.js @@ -1,8 +1,9 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import classNames from 'classnames'; -import getProgressBarKind from 'Utilities/Series/getProgressBarKind'; import formatBytes from 'Utilities/Number/formatBytes'; +import getProgressBarKind from 'Utilities/Series/getProgressBarKind'; +import titleCase from 'Utilities/String/titleCase'; import { icons } from 'Helpers/Props'; import HeartRating from 'Components/HeartRating'; import IconButton from 'Components/Link/IconButton'; @@ -83,6 +84,7 @@ class SeriesIndexRow extends Component { status, title, titleSlug, + seriesType, network, qualityProfile, languageProfile, @@ -187,6 +189,17 @@ class SeriesIndexRow extends Component { ); } + if (name === 'seriesType') { + return ( + + {titleCase(seriesType)} + + ); + } + if (name === 'network') { return ( predicate(item[key], v)); + if ( + type === filterTypes.NOT_CONTAINS || + type === filterTypes.NOT_EQUAL + ) { + accepted = value.every((v) => predicate(item[key], v)); + } else { + accepted = value.some((v) => predicate(item[key], v)); + } } else { accepted = predicate(item[key], value); }