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);
}