From 5f1d7ddc11c78da7fca251b77d5a60432c27fb72 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Tue, 21 Nov 2023 22:45:23 +0200 Subject: [PATCH] Improve discover movies sorting by release dates --- .../src/Store/Actions/discoverMovieActions.js | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/frontend/src/Store/Actions/discoverMovieActions.js b/frontend/src/Store/Actions/discoverMovieActions.js index c38e5eea2ac..9d0921a8eef 100644 --- a/frontend/src/Store/Actions/discoverMovieActions.js +++ b/frontend/src/Store/Actions/discoverMovieActions.js @@ -1,4 +1,5 @@ import _ from 'lodash'; +import moment from 'moment/moment'; import { createAction } from 'redux-actions'; import { batchActions } from 'redux-batched-actions'; import { filterBuilderTypes, filterBuilderValueTypes, filterTypes, sortDirections } from 'Helpers/Props'; @@ -219,6 +220,42 @@ export const defaultState = { const { ratings = {} } = item; return ratings.tmdb? ratings.tmdb.value : 0; + }, + + inCinemas: function(item, direction) { + if (item.inCinemas) { + return moment(item.inCinemas).unix(); + } + + if (direction === sortDirections.DESCENDING) { + return -1 * Number.MAX_VALUE; + } + + return Number.MAX_VALUE; + }, + + physicalRelease: function(item, direction) { + if (item.physicalRelease) { + return moment(item.physicalRelease).unix(); + } + + if (direction === sortDirections.DESCENDING) { + return -1 * Number.MAX_VALUE; + } + + return Number.MAX_VALUE; + }, + + digitalRelease: function(item, direction) { + if (item.digitalRelease) { + return moment(item.digitalRelease).unix(); + } + + if (direction === sortDirections.DESCENDING) { + return -1 * Number.MAX_VALUE; + } + + return Number.MAX_VALUE; } },