diff --git a/src/components/widgets/openmediavault/updates.jsx b/src/components/widgets/openmediavault/updates.jsx index c50751ea..93a64298 100644 --- a/src/components/widgets/openmediavault/updates.jsx +++ b/src/components/widgets/openmediavault/updates.jsx @@ -1,14 +1,16 @@ import useSWR from "swr"; -import { FaCheck } from "react-icons/fa"; +import { FaDownload } from "react-icons/fa"; import { useTranslation } from "next-i18next"; import Resource from "../widget/resource"; import Error from "../widget/error"; +const params = new URLSearchParams({ method: "apt.enumerateUpgraded" }).toString(); +const useApi = () => useSWR(`/api/widgets/openmediavault?${params}`); + export default function Uptime({ expanded }) { - const { t, i18n } = useTranslation(); - const params = { lang: i18n.language, method: "apt.enumerateUpgraded" }; - const { data, error } = useSWR(`/api/widgets/openmediavault?${new URLSearchParams(params).toString()}`); + const { t } = useTranslation(); + const { data, error } = useApi(); if (error || data?.error) { return ; @@ -20,7 +22,7 @@ export default function Uptime({ expanded }) { return ( ; + if (error || data?.error) { + return ; } const itemsWithData = items.map((item) => ({ ...item, - number: data?.response?.data ? item.getNumber(data?.response?.data) : null, + number: data?.response?.data ? item.getNumber(data.response.data) : null, })); return ( diff --git a/src/widgets/openmediavault/methods/services_get_status.jsx b/src/widgets/openmediavault/methods/services_get_status.jsx index b808f60e..12887a79 100644 --- a/src/widgets/openmediavault/methods/services_get_status.jsx +++ b/src/widgets/openmediavault/methods/services_get_status.jsx @@ -25,13 +25,13 @@ const items = [ export default function Component({ service }) { const { data, error } = useWidgetAPI(service.widget); - if (error) { - return ; + if (error || data?.error) { + return ; } const itemsWithData = items.map((item) => ({ ...item, - number: data?.response?.data ? item.getNumber(data?.response?.data) : null, + number: data?.response?.data ? item.getNumber(data.response.data) : null, })); return ( diff --git a/src/widgets/openmediavault/methods/smart_get_list.jsx b/src/widgets/openmediavault/methods/smart_get_list.jsx index 1a105a36..48919e07 100644 --- a/src/widgets/openmediavault/methods/smart_get_list.jsx +++ b/src/widgets/openmediavault/methods/smart_get_list.jsx @@ -25,13 +25,13 @@ const items = [ export default function Component({ service }) { const { data, error } = useWidgetAPI(service.widget); - if (error) { - return ; + if (error || data?.error) { + return ; } const itemsWithData = items.map((item) => ({ ...item, - number: data?.response?.output ? item.getNumber(JSON.parse(data?.response?.output || "{}")?.data) : null, + number: data?.response?.output ? item.getNumber(JSON.parse(data.response.output).data) : null, })); return ( diff --git a/src/widgets/openmediavault/methods/zfs_get_stats.jsx b/src/widgets/openmediavault/methods/zfs_get_stats.jsx index ec8b7a25..7a5b6d3f 100644 --- a/src/widgets/openmediavault/methods/zfs_get_stats.jsx +++ b/src/widgets/openmediavault/methods/zfs_get_stats.jsx @@ -38,10 +38,10 @@ export default function Component({ service }) { } }, [data]); - if (error) { + if (error || data?.error) { return ( - + ); }