diff --git a/docs/widgets/services/mealie.md b/docs/widgets/services/mealie.md index b1cf117be..213ae3127 100644 --- a/docs/widgets/services/mealie.md +++ b/docs/widgets/services/mealie.md @@ -14,4 +14,5 @@ widget: type: mealie url: http://mealie-frontend.host.or.ip key: mealieapitoken + version: 1 # optional, defaults to 1 ``` diff --git a/src/widgets/mealie/component.jsx b/src/widgets/mealie/component.jsx index 9cb3eefd4..a4dd1bf16 100644 --- a/src/widgets/mealie/component.jsx +++ b/src/widgets/mealie/component.jsx @@ -1,21 +1,20 @@ +import { useTranslation } from "next-i18next"; + import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { + const { t } = useTranslation(); const { widget } = service; + const version = widget.version ?? 1; + const { data, error } = useWidgetAPI(widget, version === 1 ? "statisticsv1" : "statisticsv2"); - const { data: versionData, error: versionError } = useWidgetAPI(widget, "version"); - const endpoint = - versionData?.version?.startsWith("v2") || versionData?.version === "nightly" ? "households" : "groups"; - - const { data: mealieData, error: mealieError } = useWidgetAPI(widget, endpoint); - - if (versionError || mealieError || mealieData?.statusCode === 401) { - return ; + if (error) { + return ; } - if (!mealieData) { + if (!data) { return ( @@ -25,13 +24,12 @@ export default function Component({ service }) { ); } - return ( - - - - + + + + ); } diff --git a/src/widgets/mealie/widget.js b/src/widgets/mealie/widget.js index 303b067cb..8a7069239 100644 --- a/src/widgets/mealie/widget.js +++ b/src/widgets/mealie/widget.js @@ -5,13 +5,10 @@ const widget = { proxyHandler: credentialedProxyHandler, mappings: { - version: { - endpoint: "app/about", - }, - groups: { + statisticsv1: { endpoint: "groups/statistics", }, - households: { + statisticsv2: { endpoint: "households/statistics", }, },