diff --git a/server/models/Collection.ts b/server/models/Collection.ts index 48112849b..9cc4f3788 100644 --- a/server/models/Collection.ts +++ b/server/models/Collection.ts @@ -1,3 +1,4 @@ +import { sortBy } from 'lodash'; import type { TmdbCollection } from '../api/themoviedb/interfaces'; import { MediaType } from '../constants/media'; import Media from '../entity/Media'; @@ -21,7 +22,7 @@ export const mapCollection = ( overview: collection.overview, posterPath: collection.poster_path, backdropPath: collection.backdrop_path, - parts: collection.parts.map((part) => + parts: sortBy(collection.parts, 'release_date').map((part) => mapMovieResult( part, media?.find( diff --git a/src/components/RequestModal/CollectionRequestModal.tsx b/src/components/RequestModal/CollectionRequestModal.tsx index aab799dca..512189f7c 100644 --- a/src/components/RequestModal/CollectionRequestModal.tsx +++ b/src/components/RequestModal/CollectionRequestModal.tsx @@ -16,6 +16,7 @@ import { useUser } from '../../hooks/useUser'; import globalMessages from '../../i18n/globalMessages'; import Alert from '../Common/Alert'; import Badge from '../Common/Badge'; +import CachedImage from '../Common/CachedImage'; import Modal from '../Common/Modal'; import AdvancedRequester, { RequestOverrides } from './AdvancedRequester'; import QuotaDisplay from './QuotaDisplay'; @@ -396,8 +397,29 @@ const CollectionRequestModal: React.FC = ({ > - - {part.title} + +
+ +
+
+
+ {part.releaseDate?.slice(0, 4)} +
+
+ {part.title} +
+
{!partMedia && !partRequest && (