From 440ec041b1417c4fd9ab9528d7b7def3688b4956 Mon Sep 17 00:00:00 2001 From: ajnart Date: Wed, 11 Jan 2023 08:44:14 +0900 Subject: [PATCH] Add radarrReleaseType option for Radarr fixes #426 --- src/widgets/calendar/CalendarTile.tsx | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/widgets/calendar/CalendarTile.tsx b/src/widgets/calendar/CalendarTile.tsx index 0b5f0d5c3..b2dd3bfb6 100644 --- a/src/widgets/calendar/CalendarTile.tsx +++ b/src/widgets/calendar/CalendarTile.tsx @@ -19,6 +19,15 @@ const definition = defineWidget({ type: 'switch', defaultValue: false, }, + radarrReleaseType: { + type: 'select', + defaultValue: 'inCinemas', + data: [ + { label: 'In Cinemas', value: 'inCinemas' }, + { label: 'Physical', value: 'physicalRelease' }, + { label: 'Digital', value: 'digitalRelease' }, + ], + }, }, gridstack: { minWidth: 2, @@ -82,7 +91,7 @@ function CalendarTile({ widget }: CalendarTileProps) { allowLevelChange={false} dayClassName={(_, modifiers) => cx({ [classes.weekend]: modifiers.weekend })} renderDay={(date) => ( - + )} /> @@ -95,13 +104,20 @@ const useStyles = createStyles((theme, secondaryColor: keyof MantineThemeColors) }, })); -const getReleasedMediasForDate = (medias: MediasType | undefined, date: Date): MediasType => { +const getReleasedMediasForDate = ( + medias: MediasType | undefined, + date: Date, + widget: ICalendarWidget +): MediasType => { + const radarrReleaseType = widget.properties.radarrReleaseType ?? 'inCinemas'; + const books = medias?.books.filter((b) => new Date(b.releaseDate).toDateString() === date.toDateString()) ?? []; const movies = - medias?.movies.filter((m) => new Date(m.inCinemas).toDateString() === date.toDateString()) ?? - []; + medias?.movies.filter( + (m) => new Date(m[radarrReleaseType]).toDateString() === date.toDateString() + ) ?? []; const musics = medias?.musics.filter((m) => new Date(m.releaseDate).toDateString() === date.toDateString()) ?? [];