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()) ?? [];