diff --git a/docs/widgets/services/jellyseerr.md b/docs/widgets/services/jellyseerr.md index 8ffe5fbdf..d6e436e1a 100644 --- a/docs/widgets/services/jellyseerr.md +++ b/docs/widgets/services/jellyseerr.md @@ -7,8 +7,8 @@ Learn more about [Jellyseerr](https://github.com/Fallenbagel/jellyseerr). Find your API key under `Settings > General > API Key`. -Allowed fields: `["pending", "approved", "available", "issues"]`. -Default fields: `["pending", "approved", "available"]`. +Allowed fields: `["pending", "approved", "available", "completed", "issues"]`. +Default fields: `["pending", "approved", "completed"]`. ```yaml widget: diff --git a/src/widgets/jellyseerr/component.jsx b/src/widgets/jellyseerr/component.jsx index d405cbf62..dd065b7cd 100644 --- a/src/widgets/jellyseerr/component.jsx +++ b/src/widgets/jellyseerr/component.jsx @@ -3,12 +3,13 @@ import Container from "components/services/widget/container"; import useWidgetAPI from "utils/proxy/use-widget-api"; -export const jellyseerrDefaultFields = ["pending", "approved", "available"]; +export const jellyseerrDefaultFields = ["pending", "approved", "completed"]; +const MAX_ALLOWED_FIELDS = 4; export default function Component({ service }) { const { widget } = service; - widget.fields = widget?.fields?.length ? widget.fields : jellyseerrDefaultFields; + widget.fields = widget?.fields?.length ? widget.fields.slice(0, MAX_ALLOWED_FIELDS) : jellyseerrDefaultFields; const isIssueEnabled = widget.fields.includes("issues"); const { data: statsData, error: statsError } = useWidgetAPI(widget, "request/count"); @@ -23,16 +24,24 @@ export default function Component({ service }) { + ); } + if (statsData.completed === undefined) { + // Newer versions added "completed", fallback to available + widget.fields = widget.fields.filter((field) => field !== "completed"); + widget.fields.push("available"); + } + return ( + );