From 0a58f259ffaf61b19d4a1aea1afda991940dcf47 Mon Sep 17 00:00:00 2001 From: Ben Phelps Date: Tue, 27 Sep 2022 22:59:14 +0300 Subject: [PATCH] wrapped proxy calls via useWidgetAPI --- src/utils/proxy/use-widget-api.js | 7 +++++++ src/widgets/adguard/component.jsx | 7 +++---- src/widgets/authentik/component.jsx | 11 +++++------ src/widgets/bazarr/component.jsx | 9 ++++----- src/widgets/coinmarketcap/component.jsx | 19 ++++++++---------- src/widgets/docker/component.jsx | 6 +++--- src/widgets/emby/component.jsx | 6 +++--- src/widgets/gotify/component.jsx | 11 +++++------ src/widgets/jackett/component.jsx | 7 +++---- src/widgets/jellyseerr/component.jsx | 7 +++---- src/widgets/lidarr/component.jsx | 11 +++++------ src/widgets/mastodon/component.jsx | 7 +++---- src/widgets/npm/component.jsx | 7 +++---- src/widgets/nzbget/component.jsx | 7 +++---- src/widgets/ombi/component.jsx | 7 +++---- src/widgets/overseerr/component.jsx | 7 +++---- src/widgets/pihole/component.jsx | 7 +++---- src/widgets/portainer/component.jsx | 13 +++++-------- src/widgets/prowlarr/component.jsx | 9 ++++----- src/widgets/qbittorrent/component.jsx | 26 +++++-------------------- src/widgets/radarr/component.jsx | 9 ++++----- src/widgets/readarr/component.jsx | 11 +++++------ src/widgets/rutorrent/component.jsx | 7 +++---- src/widgets/sabnzbd/component.jsx | 7 +++---- src/widgets/sonarr/component.jsx | 11 +++++------ src/widgets/speedtest/component.jsx | 7 +++---- src/widgets/strelaysrv/component.jsx | 7 +++---- src/widgets/tautulli/component.jsx | 4 ++-- src/widgets/traefik/component.jsx | 7 +++---- src/widgets/transmission/component.jsx | 7 +++---- 30 files changed, 115 insertions(+), 153 deletions(-) create mode 100644 src/utils/proxy/use-widget-api.js diff --git a/src/utils/proxy/use-widget-api.js b/src/utils/proxy/use-widget-api.js new file mode 100644 index 00000000..b196e62c --- /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 d16fc40c..dbd67644 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 af7e7600..7087c205 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 99338bfb..921529da 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 abd7efb5..113eb40e 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 719e7c9c..015a1f25 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 6602ee93..fa171580 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 63bcbfcf..f12b0e11 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 903028ef..98f9bc46 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 a38e2091..9e685f64 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 9cd99c99..96df170e 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 34b57ffe..aa1dad01 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 aea4776f..518fc3eb 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 a7a9f3be..f69f4cf0 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 779f89eb..e7402721 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 49c98bea..ad46a27e 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 5b4fdc87..a956594e 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 e62a6929..140078bc 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 5345a40e..85c50186 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 27c7b2f3..28458312 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 be931312..d6df7cf0 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 572ff700..794a6ab8 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 146c023d..cc0d03f5 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 56bd2b3b..2077695b 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 7e5dbf25..71aeb69c 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 4ae7df2b..6ff917b6 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 9dca1b21..f5b67d73 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 40627017..98207c43 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 219db5d5..efa0e8fa 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 55b6d884..f082a0d9 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 ;