diff --git a/src/widgets/mealie/component.jsx b/src/widgets/mealie/component.jsx
index 7a42bc7d0..0bacbf5d8 100644
--- a/src/widgets/mealie/component.jsx
+++ b/src/widgets/mealie/component.jsx
@@ -5,10 +5,13 @@ import useWidgetAPI from "utils/proxy/use-widget-api";
export default function Component({ service }) {
const { widget } = service;
- const { data: mealieData, error: mealieError } = useWidgetAPI(widget);
+ const { data: versionData, error: versionError } = useWidgetAPI(widget, "version");
+ const endpoint = versionData?.version.major >= 2 || versionData?.version === "nightly" ? "households" : "groups";
- if (mealieError || mealieData?.statusCode === 401) {
- return ;
+ const { data: mealieData, error: mealieError } = useWidgetAPI(widget, endpoint);
+
+ if (versionError || mealieError || mealieData?.statusCode === 401) {
+ return ;
}
if (!mealieData) {
diff --git a/src/widgets/mealie/widget.js b/src/widgets/mealie/widget.js
index 3ec8ff24d..daa635d97 100644
--- a/src/widgets/mealie/widget.js
+++ b/src/widgets/mealie/widget.js
@@ -1,8 +1,20 @@
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
const widget = {
- api: "{url}/api/groups/statistics",
+ api: "{url}/api/{endpoint}",
proxyHandler: credentialedProxyHandler,
+
+ mappings: {
+ version: {
+ endpoint: "app/about",
+ },
+ groups: {
+ endpoint: "groups/statistics",
+ },
+ households: {
+ endpoint: "households/statistics",
+ },
+ }
};
export default widget;