Merge branch 'main' into pr/2376

This commit is contained in:
shamoon 2023-11-24 23:58:10 -08:00
commit cdf83cb035
5 changed files with 36 additions and 23 deletions

View File

@ -41,6 +41,7 @@ widget:
view: agenda view: agenda
maxEvents: 10 # optional - defaults to 10 maxEvents: 10 # optional - defaults to 10
showTime: true # optional - show time for event happening today - defaults to false showTime: true # optional - show time for event happening today - defaults to false
previousDays: 3 # optional - shows events since three days ago - defaults to 0
integrations: # same as in Monthly view example integrations: # same as in Monthly view example
``` ```

View File

@ -352,6 +352,7 @@ export function cleanServiceGroups(groups) {
integrations, integrations,
maxEvents, maxEvents,
showTime, showTime,
previousDays,
view, view,
// coinmarketcap // coinmarketcap
@ -518,6 +519,7 @@ export function cleanServiceGroups(groups) {
if (firstDayInWeek) cleanedService.widget.firstDayInWeek = firstDayInWeek; if (firstDayInWeek) cleanedService.widget.firstDayInWeek = firstDayInWeek;
if (view) cleanedService.widget.view = view; if (view) cleanedService.widget.view = view;
if (maxEvents) cleanedService.widget.maxEvents = maxEvents; if (maxEvents) cleanedService.widget.maxEvents = maxEvents;
if (previousDays) cleanedService.widget.previousDays = previousDays;
if (showTime) cleanedService.widget.showTime = showTime; if (showTime) cleanedService.widget.showTime = showTime;
} }
} }

View File

@ -14,7 +14,9 @@ export default function Agenda({ service, colorVariants, events, showDate }) {
const eventsArray = Object.keys(events) const eventsArray = Object.keys(events)
.filter( .filter(
(eventKey) => showDate.startOf("day").toUnixInteger() <= events[eventKey].date?.startOf("day").toUnixInteger(), (eventKey) =>
showDate.minus({ days: widget?.previousDays ?? 0 }).startOf("day").ts <=
events[eventKey].date?.startOf("day").ts,
) )
.map((eventKey) => events[eventKey]) .map((eventKey) => events[eventKey])
.sort((a, b) => a.date - b.date) .sort((a, b) => a.date - b.date)

View File

@ -23,27 +23,35 @@ export default function Integration({ config, params, setEvents, hideErrors = fa
const physicalTitle = `${event.title} - ${t("calendar.physicalRelease")}`; const physicalTitle = `${event.title} - ${t("calendar.physicalRelease")}`;
const digitalTitle = `${event.title} - ${t("calendar.digitalRelease")}`; const digitalTitle = `${event.title} - ${t("calendar.digitalRelease")}`;
eventsToAdd[cinemaTitle] = { if (event.inCinemas) {
title: cinemaTitle, eventsToAdd[cinemaTitle] = {
date: DateTime.fromISO(event.inCinemas), title: cinemaTitle,
color: config?.color ?? "amber", date: DateTime.fromISO(event.inCinemas),
isCompleted: event.isAvailable, color: config?.color ?? "amber",
additional: "", isCompleted: event.hasFile,
}; additional: "",
eventsToAdd[physicalTitle] = { };
title: physicalTitle, }
date: DateTime.fromISO(event.physicalRelease),
color: config?.color ?? "cyan", if (event.physicalRelease) {
isCompleted: event.isAvailable, eventsToAdd[physicalTitle] = {
additional: "", title: physicalTitle,
}; date: DateTime.fromISO(event.physicalRelease),
eventsToAdd[digitalTitle] = { color: config?.color ?? "cyan",
title: digitalTitle, isCompleted: event.hasFile,
date: DateTime.fromISO(event.digitalRelease), additional: "",
color: config?.color ?? "emerald", };
isCompleted: event.isAvailable, }
additional: "",
}; if (event.digitalRelease) {
eventsToAdd[digitalTitle] = {
title: digitalTitle,
date: DateTime.fromISO(event.digitalRelease),
color: config?.color ?? "emerald",
isCompleted: event.hasFile,
additional: "",
};
}
}); });
setEvents((prevEvents) => ({ ...prevEvents, ...eventsToAdd })); setEvents((prevEvents) => ({ ...prevEvents, ...eventsToAdd }));

View File

@ -21,7 +21,7 @@ export default function Component({ service }) {
return <Container service={service} error={statsError ?? statusError} />; return <Container service={service} error={statsError ?? statusError} />;
} }
if (statusData && statusData.status !== "running") { if (statusData && !(statusData.status.includes("running") || statusData.status.includes("partial"))) {
return ( return (
<Container> <Container>
<Block label={t("widget.status")} value={t("docker.offline")} /> <Block label={t("widget.status")} value={t("docker.offline")} />