Add radarrReleaseType option for Radarr fixes #426
This commit is contained in:
@@ -19,6 +19,15 @@ const definition = defineWidget({
|
|||||||
type: 'switch',
|
type: 'switch',
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
},
|
},
|
||||||
|
radarrReleaseType: {
|
||||||
|
type: 'select',
|
||||||
|
defaultValue: 'inCinemas',
|
||||||
|
data: [
|
||||||
|
{ label: 'In Cinemas', value: 'inCinemas' },
|
||||||
|
{ label: 'Physical', value: 'physicalRelease' },
|
||||||
|
{ label: 'Digital', value: 'digitalRelease' },
|
||||||
|
],
|
||||||
|
},
|
||||||
},
|
},
|
||||||
gridstack: {
|
gridstack: {
|
||||||
minWidth: 2,
|
minWidth: 2,
|
||||||
@@ -82,7 +91,7 @@ function CalendarTile({ widget }: CalendarTileProps) {
|
|||||||
allowLevelChange={false}
|
allowLevelChange={false}
|
||||||
dayClassName={(_, modifiers) => cx({ [classes.weekend]: modifiers.weekend })}
|
dayClassName={(_, modifiers) => cx({ [classes.weekend]: modifiers.weekend })}
|
||||||
renderDay={(date) => (
|
renderDay={(date) => (
|
||||||
<CalendarDay date={date} medias={getReleasedMediasForDate(medias, date)} />
|
<CalendarDay date={date} medias={getReleasedMediasForDate(medias, date, widget)} />
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
</Group>
|
</Group>
|
||||||
@@ -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 =
|
const books =
|
||||||
medias?.books.filter((b) => new Date(b.releaseDate).toDateString() === date.toDateString()) ??
|
medias?.books.filter((b) => new Date(b.releaseDate).toDateString() === date.toDateString()) ??
|
||||||
[];
|
[];
|
||||||
const movies =
|
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 =
|
const musics =
|
||||||
medias?.musics.filter((m) => new Date(m.releaseDate).toDateString() === date.toDateString()) ??
|
medias?.musics.filter((m) => new Date(m.releaseDate).toDateString() === date.toDateString()) ??
|
||||||
[];
|
[];
|
||||||
|
|||||||
Reference in New Issue
Block a user