diff --git a/frontend/src/DiscoverMovie/Table/DiscoverMovieHeader.css b/frontend/src/DiscoverMovie/Table/DiscoverMovieHeader.css
index 5c673fd5f..c543d231d 100644
--- a/frontend/src/DiscoverMovie/Table/DiscoverMovieHeader.css
+++ b/frontend/src/DiscoverMovie/Table/DiscoverMovieHeader.css
@@ -39,6 +39,12 @@
flex: 0 0 90px;
}
+.popularity {
+ composes: headerCell from '~Components/Table/VirtualTableHeaderCell.css';
+
+ flex: 0 0 100px;
+}
+
.lists {
composes: headerCell from '~Components/Table/VirtualTableHeaderCell.css';
diff --git a/frontend/src/DiscoverMovie/Table/DiscoverMovieHeader.css.d.ts b/frontend/src/DiscoverMovie/Table/DiscoverMovieHeader.css.d.ts
index a32ca9e7d..fd8bbf0f8 100644
--- a/frontend/src/DiscoverMovie/Table/DiscoverMovieHeader.css.d.ts
+++ b/frontend/src/DiscoverMovie/Table/DiscoverMovieHeader.css.d.ts
@@ -11,6 +11,7 @@ interface CssExports {
'lists': string;
'originalLanguage': string;
'physicalRelease': string;
+ 'popularity': string;
'ratings': string;
'runtime': string;
'sortTitle': string;
diff --git a/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.css b/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.css
index 86f6363ba..3e2ebd2e7 100644
--- a/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.css
+++ b/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.css
@@ -64,6 +64,12 @@
flex: 0 0 90px;
}
+.popularity {
+ composes: cell;
+
+ flex: 0 0 100px;
+}
+
.lists {
composes: cell;
diff --git a/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.css.d.ts b/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.css.d.ts
index f65df2a1b..8b7ec2014 100644
--- a/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.css.d.ts
+++ b/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.css.d.ts
@@ -16,6 +16,7 @@ interface CssExports {
'lists': string;
'originalLanguage': string;
'physicalRelease': string;
+ 'popularity': string;
'ratings': string;
'runtime': string;
'sortTitle': string;
diff --git a/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.js b/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.js
index 9dd7b0d21..47f914324 100644
--- a/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.js
+++ b/frontend/src/DiscoverMovie/Table/DiscoverMovieRow.js
@@ -13,6 +13,7 @@ import AddNewDiscoverMovieModal from 'DiscoverMovie/AddNewDiscoverMovieModal';
import ExcludeMovieModal from 'DiscoverMovie/Exclusion/ExcludeMovieModal';
import { icons } from 'Helpers/Props';
import MovieDetailsLinks from 'Movie/Details/MovieDetailsLinks';
+import MoviePopularityIndex from 'Movie/MoviePopularityIndex';
import formatRuntime from 'Utilities/Date/formatRuntime';
import translate from 'Utilities/String/translate';
import ListMovieStatusCell from './ListMovieStatusCell';
@@ -73,6 +74,7 @@ class DiscoverMovieRow extends Component {
images,
genres,
ratings,
+ popularity,
certification,
collection,
columns,
@@ -261,6 +263,14 @@ class DiscoverMovieRow extends Component {
);
}
+ if (name === 'popularity') {
+ return (
+
+
+
+ );
+ }
+
if (name === 'certification') {
return (
+
+ {translate('Popularity')}
+
+
+
+
+ );
+ }
+
if (name === 'certification') {
return (
diff --git a/frontend/src/Movie/Index/Table/MovieIndexTableHeader.css b/frontend/src/Movie/Index/Table/MovieIndexTableHeader.css
index 9d286dfa4..f6d937857 100644
--- a/frontend/src/Movie/Index/Table/MovieIndexTableHeader.css
+++ b/frontend/src/Movie/Index/Table/MovieIndexTableHeader.css
@@ -41,6 +41,7 @@
}
.added,
+.popularity,
.runtime {
composes: headerCell from '~Components/Table/VirtualTableHeaderCell.css';
diff --git a/frontend/src/Movie/Index/Table/MovieIndexTableHeader.css.d.ts b/frontend/src/Movie/Index/Table/MovieIndexTableHeader.css.d.ts
index 2b1baa10f..8a8be09d4 100644
--- a/frontend/src/Movie/Index/Table/MovieIndexTableHeader.css.d.ts
+++ b/frontend/src/Movie/Index/Table/MovieIndexTableHeader.css.d.ts
@@ -15,6 +15,7 @@ interface CssExports {
'originalTitle': string;
'path': string;
'physicalRelease': string;
+ 'popularity': string;
'qualityProfileId': string;
'rottenTomatoesRating': string;
'runtime': string;
diff --git a/frontend/src/Movie/Movie.ts b/frontend/src/Movie/Movie.ts
index d1abf81b9..7160497b7 100644
--- a/frontend/src/Movie/Movie.ts
+++ b/frontend/src/Movie/Movie.ts
@@ -49,6 +49,7 @@ interface Movie extends ModelBase {
sizeOnDisk: number;
genres: string[];
ratings: Ratings;
+ popularity: number;
certification: string;
tags: number[];
images: Image[];
diff --git a/frontend/src/Movie/MoviePopularityIndex.css b/frontend/src/Movie/MoviePopularityIndex.css
new file mode 100644
index 000000000..352ea3d48
--- /dev/null
+++ b/frontend/src/Movie/MoviePopularityIndex.css
@@ -0,0 +1,5 @@
+.popularityIcon {
+ margin-right: 2px;
+ width: 12px !important;
+ text-align: center;
+}
\ No newline at end of file
diff --git a/frontend/src/Movie/MoviePopularityIndex.css.d.ts b/frontend/src/Movie/MoviePopularityIndex.css.d.ts
new file mode 100644
index 000000000..771315d85
--- /dev/null
+++ b/frontend/src/Movie/MoviePopularityIndex.css.d.ts
@@ -0,0 +1,7 @@
+// This file is automatically generated.
+// Please do not change this file!
+interface CssExports {
+ 'popularityIcon': string;
+}
+export const cssExports: CssExports;
+export default cssExports;
diff --git a/frontend/src/Movie/MoviePopularityIndex.tsx b/frontend/src/Movie/MoviePopularityIndex.tsx
new file mode 100644
index 000000000..16d65f075
--- /dev/null
+++ b/frontend/src/Movie/MoviePopularityIndex.tsx
@@ -0,0 +1,23 @@
+import React from 'react';
+import Icon from 'Components/Icon';
+import Label from 'Components/Label';
+import { icons, kinds } from 'Helpers/Props';
+import translate from 'Utilities/String/translate';
+import styles from './MoviePopularityIndex.css';
+
+interface MoviePopularityIndexProps {
+ popularity: number;
+}
+
+function MoviePopularityIndex(props: MoviePopularityIndexProps) {
+ const { popularity } = props;
+
+ return (
+
+ );
+}
+
+export default MoviePopularityIndex;
diff --git a/frontend/src/Store/Actions/discoverMovieActions.js b/frontend/src/Store/Actions/discoverMovieActions.js
index afaabf9d6..2b1895894 100644
--- a/frontend/src/Store/Actions/discoverMovieActions.js
+++ b/frontend/src/Store/Actions/discoverMovieActions.js
@@ -148,6 +148,12 @@ export const defaultState = {
isSortable: true,
isVisible: false
},
+ {
+ name: 'popularity',
+ label: translate('Popularity'),
+ isSortable: true,
+ isVisible: false
+ },
{
name: 'certification',
label: translate('Certification'),
@@ -380,6 +386,11 @@ export const defaultState = {
label: translate('ImdbVotes'),
type: filterBuilderTypes.NUMBER
},
+ {
+ name: 'popularity',
+ label: translate('Popularity'),
+ type: filterBuilderTypes.NUMBER
+ },
{
name: 'certification',
label: 'Certification',
diff --git a/frontend/src/Store/Actions/movieIndexActions.js b/frontend/src/Store/Actions/movieIndexActions.js
index bd9c62b0e..c2f84b379 100644
--- a/frontend/src/Store/Actions/movieIndexActions.js
+++ b/frontend/src/Store/Actions/movieIndexActions.js
@@ -191,6 +191,12 @@ export const defaultState = {
isSortable: true,
isVisible: false
},
+ {
+ name: 'popularity',
+ label: translate('Popularity'),
+ isSortable: true,
+ isVisible: false
+ },
{
name: 'certification',
label: translate('Certification'),
@@ -443,6 +449,11 @@ export const defaultState = {
label: translate('ImdbVotes'),
type: filterBuilderTypes.NUMBER
},
+ {
+ name: 'popularity',
+ label: translate('Popularity'),
+ type: filterBuilderTypes.NUMBER
+ },
{
name: 'certification',
label: translate('Certification'),
diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json
index 0604438b6..eb5d6eba4 100644
--- a/src/NzbDrone.Core/Localization/Core/en.json
+++ b/src/NzbDrone.Core/Localization/Core/en.json
@@ -732,6 +732,8 @@
"Permissions": "Permissions",
"PhysicalRelease": "Physical Release",
"PhysicalReleaseDate": "Physical Release Date",
+ "Popularity": "Popularity",
+ "PopularityIndex": "Current Popularity Index",
"Port": "Port",
"PortNumber": "Port Number",
"PosterOptions": "Poster Options",
diff --git a/src/Radarr.Api.V3/ImportLists/ImportListMoviesResource.cs b/src/Radarr.Api.V3/ImportLists/ImportListMoviesResource.cs
index 05de8ea46..c90f8dafd 100644
--- a/src/Radarr.Api.V3/ImportLists/ImportListMoviesResource.cs
+++ b/src/Radarr.Api.V3/ImportLists/ImportListMoviesResource.cs
@@ -36,6 +36,7 @@ namespace Radarr.Api.V3.ImportLists
public int TmdbId { get; set; }
public string Folder { get; set; }
public string Certification { get; set; }
+ public float Popularity { get; set; }
public List Genres { get; set; }
public Ratings Ratings { get; set; }
public MovieCollection Collection { get; set; }
@@ -78,6 +79,7 @@ namespace Radarr.Api.V3.ImportLists
Website = model.MovieMetadata.Value.Website,
Genres = model.MovieMetadata.Value.Genres,
Ratings = model.MovieMetadata.Value.Ratings,
+ Popularity = model.MovieMetadata.Value.Popularity,
YouTubeTrailerId = model.MovieMetadata.Value.YouTubeTrailerId,
Collection = new MovieCollection { Title = model.MovieMetadata.Value.CollectionTitle, TmdbId = model.MovieMetadata.Value.CollectionTmdbId },
Studio = model.MovieMetadata.Value.Studio
@@ -115,6 +117,7 @@ namespace Radarr.Api.V3.ImportLists
Genres = model.MovieMetadata.Value.Genres,
Ratings = model.MovieMetadata.Value.Ratings,
YouTubeTrailerId = model.MovieMetadata.Value.YouTubeTrailerId,
+ Popularity = model.MovieMetadata.Value.Popularity,
Studio = model.MovieMetadata.Value.Studio,
Collection = new MovieCollection { Title = model.MovieMetadata.Value.CollectionTitle, TmdbId = model.MovieMetadata.Value.CollectionTmdbId },
Lists = new HashSet { model.ListId }