diff --git a/src/utils/proxy/use-widget-api.js b/src/utils/proxy/use-widget-api.js new file mode 100644 index 000000000..b196e62c4 --- /dev/null +++ b/src/utils/proxy/use-widget-api.js @@ -0,0 +1,7 @@ +import useSWR from "swr"; + +import { formatProxyUrl } from "./api-helpers"; + +export default function useWidgetAPI(widget, ...options) { + return useSWR(formatProxyUrl(widget, ...options)); +} diff --git a/src/widgets/adguard/component.jsx b/src/widgets/adguard/component.jsx index d16fc40ce..dbd67644b 100644 --- a/src/widgets/adguard/component.jsx +++ b/src/widgets/adguard/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: adguardData, error: adguardError } = useSWR(formatProxyUrl(config, "stats")); + const { data: adguardData, error: adguardError } = useWidgetAPI(widget, "stats"); if (adguardError) { return ; diff --git a/src/widgets/authentik/component.jsx b/src/widgets/authentik/component.jsx index af7e76002..7087c205b 100644 --- a/src/widgets/authentik/component.jsx +++ b/src/widgets/authentik/component.jsx @@ -1,18 +1,17 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: usersData, error: usersError } = useSWR(formatProxyUrl(config, "users")); - const { data: loginsData, error: loginsError } = useSWR(formatProxyUrl(config, "login")); - const { data: failedLoginsData, error: failedLoginsError } = useSWR(formatProxyUrl(config, "login_failed")); + const { data: usersData, error: usersError } = useWidgetAPI(widget, "users"); + const { data: loginsData, error: loginsError } = useWidgetAPI(widget, "login"); + const { data: failedLoginsData, error: failedLoginsError } = useWidgetAPI(widget, "login_failed"); if (usersError || loginsError || failedLoginsError) { return ; diff --git a/src/widgets/bazarr/component.jsx b/src/widgets/bazarr/component.jsx index 99338bfbd..921529da7 100644 --- a/src/widgets/bazarr/component.jsx +++ b/src/widgets/bazarr/component.jsx @@ -1,17 +1,16 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: episodesData, error: episodesError } = useSWR(formatProxyUrl(config, "episodes")); - const { data: moviesData, error: moviesError } = useSWR(formatProxyUrl(config, "movies")); + const { data: episodesData, error: episodesError } = useWidgetAPI(widget, "episodes"); + const { data: moviesData, error: moviesError } = useWidgetAPI(widget, "movies"); if (episodesError || moviesError) { return ; diff --git a/src/widgets/coinmarketcap/component.jsx b/src/widgets/coinmarketcap/component.jsx index abd7efb5b..113eb40ee 100644 --- a/src/widgets/coinmarketcap/component.jsx +++ b/src/widgets/coinmarketcap/component.jsx @@ -1,4 +1,3 @@ -import useSWR from "swr"; import { useState } from "react"; import { useTranslation } from "next-i18next"; import classNames from "classnames"; @@ -6,7 +5,7 @@ import classNames from "classnames"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import Dropdown from "components/services/dropdown"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); @@ -20,16 +19,14 @@ export default function Component({ service }) { const [dateRange, setDateRange] = useState(dateRangeOptions[0].value); - const config = service.widget; - const currencyCode = config.currency ?? "USD"; - const { symbols } = config; + const { widget } = service; + const { symbols } = widget; + const currencyCode = widget.currency ?? "USD"; - const { data: statsData, error: statsError } = useSWR( - formatProxyUrl(config, "v1/cryptocurrency/quotes/latest", { - symbol: `${symbols.join(",")}`, - convert: `${currencyCode}`, - }) - ); + const { data: statsData, error: statsError } = useWidgetAPI(widget, "v1/cryptocurrency/quotes/latest", { + symbol: `${symbols.join(",")}`, + convert: `${currencyCode}`, + }); if (!symbols || symbols.length === 0) { return ( diff --git a/src/widgets/docker/component.jsx b/src/widgets/docker/component.jsx index 719e7c9cc..015a1f253 100644 --- a/src/widgets/docker/component.jsx +++ b/src/widgets/docker/component.jsx @@ -9,13 +9,13 @@ import Block from "components/services/widget/block"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; const { data: statusData, error: statusError } = useSWR( - `/api/docker/status/${config.container}/${config.server || ""}` + `/api/docker/status/${widget.container}/${widget.server || ""}` ); - const { data: statsData, error: statsError } = useSWR(`/api/docker/stats/${config.container}/${config.server || ""}`); + const { data: statsData, error: statsError } = useSWR(`/api/docker/stats/${widget.container}/${widget.server || ""}`); if (statsError || statusError) { return ; diff --git a/src/widgets/emby/component.jsx b/src/widgets/emby/component.jsx index 6602ee931..fa1715807 100644 --- a/src/widgets/emby/component.jsx +++ b/src/widgets/emby/component.jsx @@ -151,18 +151,18 @@ function SessionEntry({ playCommand, session }) { export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; const { data: sessionsData, error: sessionsError, mutate: sessionMutate, - } = useSWR(formatProxyUrl(config, "Sessions"), { + } = useSWR(formatProxyUrl(widget, "Sessions"), { refreshInterval: 5000, }); async function handlePlayCommand(session, command) { - const url = formatProxyUrlWithSegments(config, "PlayControl", { + const url = formatProxyUrlWithSegments(widget, "PlayControl", { sessionId: session.Id, command, }); diff --git a/src/widgets/gotify/component.jsx b/src/widgets/gotify/component.jsx index 63bcbfcf2..f12b0e116 100644 --- a/src/widgets/gotify/component.jsx +++ b/src/widgets/gotify/component.jsx @@ -1,18 +1,17 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: appsData, error: appsError } = useSWR(formatProxyUrl(config, `application`)); - const { data: messagesData, error: messagesError } = useSWR(formatProxyUrl(config, `message`)); - const { data: clientsData, error: clientsError } = useSWR(formatProxyUrl(config, `client`)); + const { data: appsData, error: appsError } = useWidgetAPI(widget, "application"); + const { data: messagesData, error: messagesError } = useWidgetAPI(widget, "message"); + const { data: clientsData, error: clientsError } = useWidgetAPI(widget, "client"); if (appsError || messagesError || clientsError) { return ; diff --git a/src/widgets/jackett/component.jsx b/src/widgets/jackett/component.jsx index 903028efe..98f9bc466 100644 --- a/src/widgets/jackett/component.jsx +++ b/src/widgets/jackett/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: indexersData, error: indexersError } = useSWR(formatProxyUrl(config, "indexers")); + const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexers"); if (indexersError) { return ; diff --git a/src/widgets/jellyseerr/component.jsx b/src/widgets/jellyseerr/component.jsx index a38e2091c..9e685f648 100644 --- a/src/widgets/jellyseerr/component.jsx +++ b/src/widgets/jellyseerr/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: statsData, error: statsError } = useSWR(formatProxyUrl(config, `request/count`)); + const { data: statsData, error: statsError } = useWidgetAPI(widget, "request/count"); if (statsError) { return ; diff --git a/src/widgets/lidarr/component.jsx b/src/widgets/lidarr/component.jsx index 9cd99c990..96df170e0 100644 --- a/src/widgets/lidarr/component.jsx +++ b/src/widgets/lidarr/component.jsx @@ -1,18 +1,17 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: albumsData, error: albumsError } = useSWR(formatProxyUrl(config, "album")); - const { data: wantedData, error: wantedError } = useSWR(formatProxyUrl(config, "wanted/missing")); - const { data: queueData, error: queueError } = useSWR(formatProxyUrl(config, "queue/status")); + const { data: albumsData, error: albumsError } = useWidgetAPI(widget, "album"); + const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing"); + const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue/status"); if (albumsError || wantedError || queueError) { return ; diff --git a/src/widgets/mastodon/component.jsx b/src/widgets/mastodon/component.jsx index 34b57ffe6..aa1dad010 100644 --- a/src/widgets/mastodon/component.jsx +++ b/src/widgets/mastodon/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: statsData, error: statsError } = useSWR(formatProxyUrl(config, `instance`)); + const { data: statsData, error: statsError } = useWidgetAPI(widget, "instance"); if (statsError) { return ; diff --git a/src/widgets/npm/component.jsx b/src/widgets/npm/component.jsx index aea4776f8..518fc3eb8 100644 --- a/src/widgets/npm/component.jsx +++ b/src/widgets/npm/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: infoData, error: infoError } = useSWR(formatProxyUrl(config, "nginx/proxy-hosts")); + const { data: infoData, error: infoError } = useWidgetAPI(widget, "nginx/proxy-hosts"); if (infoError) { return ; diff --git a/src/widgets/nzbget/component.jsx b/src/widgets/nzbget/component.jsx index a7a9f3bee..f69f4cf0a 100644 --- a/src/widgets/nzbget/component.jsx +++ b/src/widgets/nzbget/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation("common"); - const config = service.widget; + const { widget } = service; - const { data: statusData, error: statusError } = useSWR(formatProxyUrl(config, "status")); + const { data: statusData, error: statusError } = useWidgetAPI(widget, "status"); if (statusError) { return ; diff --git a/src/widgets/ombi/component.jsx b/src/widgets/ombi/component.jsx index 779f89eb0..e7402721b 100644 --- a/src/widgets/ombi/component.jsx +++ b/src/widgets/ombi/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: statsData, error: statsError } = useSWR(formatProxyUrl(config, `Request/count`)); + const { data: statsData, error: statsError } = useWidgetAPI(widget, "Request/count"); if (statsError) { return ; diff --git a/src/widgets/overseerr/component.jsx b/src/widgets/overseerr/component.jsx index 49c98bea5..ad46a27e4 100644 --- a/src/widgets/overseerr/component.jsx +++ b/src/widgets/overseerr/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: statsData, error: statsError } = useSWR(formatProxyUrl(config, "request/count")); + const { data: statsData, error: statsError } = useWidgetAPI(widget, "request/count"); if (statsError) { return ; diff --git a/src/widgets/pihole/component.jsx b/src/widgets/pihole/component.jsx index 5b4fdc871..a956594e5 100644 --- a/src/widgets/pihole/component.jsx +++ b/src/widgets/pihole/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: piholeData, error: piholeError } = useSWR(formatProxyUrl(config, "api.php")); + const { data: piholeData, error: piholeError } = useWidgetAPI(widget, "api.php"); if (piholeError) { return ; diff --git a/src/widgets/portainer/component.jsx b/src/widgets/portainer/component.jsx index e62a69290..140078bc3 100644 --- a/src/widgets/portainer/component.jsx +++ b/src/widgets/portainer/component.jsx @@ -1,20 +1,17 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: containersData, error: containersError } = useSWR( - formatProxyUrl(config, `docker/containers/json`, { - all: 1, - }) - ); + const { data: containersData, error: containersError } = useWidgetAPI(widget, "docker/containers/json", { + all: 1, + }); if (containersError) { return ; diff --git a/src/widgets/prowlarr/component.jsx b/src/widgets/prowlarr/component.jsx index 5345a40ef..85c501860 100644 --- a/src/widgets/prowlarr/component.jsx +++ b/src/widgets/prowlarr/component.jsx @@ -1,17 +1,16 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: indexersData, error: indexersError } = useSWR(formatProxyUrl(config, "indexer")); - const { data: grabsData, error: grabsError } = useSWR(formatProxyUrl(config, "indexerstats")); + const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexer"); + const { data: grabsData, error: grabsError } = useWidgetAPI(widget, "indexerstats"); if (indexersError || grabsError) { return ; diff --git a/src/widgets/qbittorrent/component.jsx b/src/widgets/qbittorrent/component.jsx index 27c7b2f35..284583122 100644 --- a/src/widgets/qbittorrent/component.jsx +++ b/src/widgets/qbittorrent/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: torrentData, error: torrentError } = useSWR(formatProxyUrl(config, "torrents/info")); + const { data: torrentData, error: torrentError } = useWidgetAPI(widget, "torrents/info"); if (torrentError) { return ; @@ -42,27 +41,12 @@ export default function Component({ service }) { const leech = torrentData.length - completed; - let unitsDl = "KB/s"; - let unitsUl = "KB/s"; - rateDl /= 1024; - rateUl /= 1024; - - if (rateDl > 1024) { - rateDl /= 1024; - unitsDl = "MB/s"; - } - - if (rateUl > 1024) { - rateUl /= 1024; - unitsUl = "MB/s"; - } - return ( - + - + ); } diff --git a/src/widgets/radarr/component.jsx b/src/widgets/radarr/component.jsx index be931312c..d6df7cf04 100644 --- a/src/widgets/radarr/component.jsx +++ b/src/widgets/radarr/component.jsx @@ -1,17 +1,16 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: moviesData, error: moviesError } = useSWR(formatProxyUrl(config, "movie")); - const { data: queuedData, error: queuedError } = useSWR(formatProxyUrl(config, "queue/status")); + const { data: moviesData, error: moviesError } = useWidgetAPI(widget, "movie"); + const { data: queuedData, error: queuedError } = useWidgetAPI(widget, "queue/status"); if (moviesError || queuedError) { return ; diff --git a/src/widgets/readarr/component.jsx b/src/widgets/readarr/component.jsx index 572ff7006..794a6ab8e 100644 --- a/src/widgets/readarr/component.jsx +++ b/src/widgets/readarr/component.jsx @@ -1,18 +1,17 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: booksData, error: booksError } = useSWR(formatProxyUrl(config, "book")); - const { data: wantedData, error: wantedError } = useSWR(formatProxyUrl(config, "wanted/missing")); - const { data: queueData, error: queueError } = useSWR(formatProxyUrl(config, "queue/status")); + const { data: booksData, error: booksError } = useWidgetAPI(widget, "book"); + const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing"); + const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue/status"); if (booksError || wantedError || queueError) { return ; diff --git a/src/widgets/rutorrent/component.jsx b/src/widgets/rutorrent/component.jsx index 146c023d9..cc0d03f50 100644 --- a/src/widgets/rutorrent/component.jsx +++ b/src/widgets/rutorrent/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: statusData, error: statusError } = useSWR(formatProxyUrl(config)); + const { data: statusData, error: statusError } = useWidgetAPI(widget); if (statusError) { return ; diff --git a/src/widgets/sabnzbd/component.jsx b/src/widgets/sabnzbd/component.jsx index 56bd2b3b8..2077695ba 100644 --- a/src/widgets/sabnzbd/component.jsx +++ b/src/widgets/sabnzbd/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: queueData, error: queueError } = useSWR(formatProxyUrl(config, "queue")); + const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue"); if (queueError) { return ; diff --git a/src/widgets/sonarr/component.jsx b/src/widgets/sonarr/component.jsx index 7e5dbf25d..71aeb69c4 100644 --- a/src/widgets/sonarr/component.jsx +++ b/src/widgets/sonarr/component.jsx @@ -1,18 +1,17 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: wantedData, error: wantedError } = useSWR(formatProxyUrl(config, "wanted/missing")); - const { data: queuedData, error: queuedError } = useSWR(formatProxyUrl(config, "queue")); - const { data: seriesData, error: seriesError } = useSWR(formatProxyUrl(config, "series")); + const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing"); + const { data: queuedData, error: queuedError } = useWidgetAPI(widget, "queue"); + const { data: seriesData, error: seriesError } = useWidgetAPI(widget, "series"); if (wantedError || queuedError || seriesError) { return ; diff --git a/src/widgets/speedtest/component.jsx b/src/widgets/speedtest/component.jsx index 4ae7df2b5..6ff917b6b 100644 --- a/src/widgets/speedtest/component.jsx +++ b/src/widgets/speedtest/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: speedtestData, error: speedtestError } = useSWR(formatProxyUrl(config, "speedtest/latest")); + const { data: speedtestData, error: speedtestError } = useWidgetAPI(widget, "speedtest/latest"); if (speedtestError) { return ; diff --git a/src/widgets/strelaysrv/component.jsx b/src/widgets/strelaysrv/component.jsx index 9dca1b21c..f5b67d731 100644 --- a/src/widgets/strelaysrv/component.jsx +++ b/src/widgets/strelaysrv/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: statsData, error: statsError } = useSWR(formatProxyUrl(config, `status`)); + const { data: statsData, error: statsError } = useWidgetAPI(widget, "status"); if (statsError) { return ; diff --git a/src/widgets/tautulli/component.jsx b/src/widgets/tautulli/component.jsx index 40627017b..98207c43c 100644 --- a/src/widgets/tautulli/component.jsx +++ b/src/widgets/tautulli/component.jsx @@ -117,9 +117,9 @@ function SessionEntry({ session }) { export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: activityData, error: activityError } = useSWR(formatProxyUrl(config, "get_activity"), { + const { data: activityData, error: activityError } = useSWR(formatProxyUrl(widget, "get_activity"), { refreshInterval: 5000, }); diff --git a/src/widgets/traefik/component.jsx b/src/widgets/traefik/component.jsx index 219db5d52..efa0e8fa9 100644 --- a/src/widgets/traefik/component.jsx +++ b/src/widgets/traefik/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: traefikData, error: traefikError } = useSWR(formatProxyUrl(config, "overview")); + const { data: traefikData, error: traefikError } = useWidgetAPI(widget, "overview"); if (traefikError) { return ; diff --git a/src/widgets/transmission/component.jsx b/src/widgets/transmission/component.jsx index 55b6d8842..f082a0d97 100644 --- a/src/widgets/transmission/component.jsx +++ b/src/widgets/transmission/component.jsx @@ -1,16 +1,15 @@ -import useSWR from "swr"; import { useTranslation } from "next-i18next"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import { formatProxyUrl } from "utils/proxy/api-helpers"; +import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); - const config = service.widget; + const { widget } = service; - const { data: torrentData, error: torrentError } = useSWR(formatProxyUrl(config)); + const { data: torrentData, error: torrentError } = useWidgetAPI(widget); if (torrentError) { return ;