diff --git a/src/components/bookmarks/item.jsx b/src/components/bookmarks/item.jsx
index f3a2be533..71b0cf081 100644
--- a/src/components/bookmarks/item.jsx
+++ b/src/components/bookmarks/item.jsx
@@ -20,7 +20,7 @@ export default function Item({ bookmark }) {
{bookmark.name}
-
{hostname}
+
{hostname}
diff --git a/src/components/services/item.jsx b/src/components/services/item.jsx
index de70914e4..6f9455151 100644
--- a/src/components/services/item.jsx
+++ b/src/components/services/item.jsx
@@ -74,14 +74,14 @@ export default function Item({ service }) {
>
{service.name}
-
{service.description}
+
{service.description}
) : (
{service.name}
-
{service.description}
+
{service.description}
)}
diff --git a/src/components/services/widgets/block.jsx b/src/components/services/widget/block.jsx
similarity index 100%
rename from src/components/services/widgets/block.jsx
rename to src/components/services/widget/block.jsx
diff --git a/src/components/services/widgets/widget.jsx b/src/components/services/widget/container.jsx
similarity index 82%
rename from src/components/services/widgets/widget.jsx
rename to src/components/services/widget/container.jsx
index 12202c05f..deb5fdc23 100644
--- a/src/components/services/widgets/widget.jsx
+++ b/src/components/services/widget/container.jsx
@@ -1,4 +1,4 @@
-export default function Widget({ error = false, children }) {
+export default function Container({ error = false, children }) {
if (error) {
return (
diff --git a/src/components/color-toggle.jsx b/src/components/toggles/color.jsx
similarity index 100%
rename from src/components/color-toggle.jsx
rename to src/components/toggles/color.jsx
diff --git a/src/components/revalidate.jsx b/src/components/toggles/revalidate.jsx
similarity index 100%
rename from src/components/revalidate.jsx
rename to src/components/toggles/revalidate.jsx
diff --git a/src/components/theme-toggle.jsx b/src/components/toggles/theme.jsx
similarity index 100%
rename from src/components/theme-toggle.jsx
rename to src/components/toggles/theme.jsx
diff --git a/src/components/version.jsx b/src/components/version.jsx
index 18b7b7e98..72449a7a0 100644
--- a/src/components/version.jsx
+++ b/src/components/version.jsx
@@ -26,7 +26,7 @@ export default function Version() {
return (
-
+
{version} ({revision.substring(0, 7)}, {formatDate(buildTime)})
{version === "main" || version === "dev" || version === "nightly"
@@ -37,7 +37,7 @@ export default function Version() {
href={latestRelease.html_url}
target="_blank"
rel="noopener noreferrer"
- className="ml-2 text-xs text-theme-500 flex flex-row items-center"
+ className="ml-2 text-xs text-theme-500 dark:text-theme-400 flex flex-row items-center"
>
{t("Update Available")}
diff --git a/src/components/widget.jsx b/src/components/widgets/widget.jsx
similarity index 100%
rename from src/components/widget.jsx
rename to src/components/widgets/widget.jsx
diff --git a/src/pages/api/docker/stats/[...service].js b/src/pages/api/docker/stats/[...service].js
index f8f4e5f04..ca8c8bd3a 100644
--- a/src/pages/api/docker/stats/[...service].js
+++ b/src/pages/api/docker/stats/[...service].js
@@ -1,6 +1,6 @@
import Docker from "dockerode";
-import getDockerArguments from "utils/docker";
+import getDockerArguments from "utils/config/docker";
export default async function handler(req, res) {
const { service } = req.query;
diff --git a/src/pages/api/docker/status/[...service].js b/src/pages/api/docker/status/[...service].js
index 8a14041de..8330ac3d3 100644
--- a/src/pages/api/docker/status/[...service].js
+++ b/src/pages/api/docker/status/[...service].js
@@ -1,6 +1,6 @@
import Docker from "dockerode";
-import getDockerArguments from "utils/docker";
+import getDockerArguments from "utils/config/docker";
export default async function handler(req, res) {
const { service } = req.query;
diff --git a/src/pages/api/validate.js b/src/pages/api/validate.js
index cdb282742..bab53057c 100644
--- a/src/pages/api/validate.js
+++ b/src/pages/api/validate.js
@@ -1,4 +1,4 @@
-import checkAndCopyConfig from "utils/config";
+import checkAndCopyConfig from "utils/config/config";
const configs = ["docker.yaml", "settings.yaml", "services.yaml", "bookmarks.yaml"];
diff --git a/src/pages/api/widgets/openweathermap.js b/src/pages/api/widgets/openweathermap.js
index b94c9d8dc..a20709975 100644
--- a/src/pages/api/widgets/openweathermap.js
+++ b/src/pages/api/widgets/openweathermap.js
@@ -1,5 +1,5 @@
import cachedFetch from "utils/proxy/cached-fetch";
-import { getSettings } from "utils/config";
+import { getSettings } from "utils/config/config";
export default async function handler(req, res) {
const { latitude, longitude, units, provider, cache, lang } = req.query;
diff --git a/src/pages/api/widgets/weather.js b/src/pages/api/widgets/weather.js
index 893d3054b..5cba47ba7 100644
--- a/src/pages/api/widgets/weather.js
+++ b/src/pages/api/widgets/weather.js
@@ -1,5 +1,5 @@
import cachedFetch from "utils/proxy/cached-fetch";
-import { getSettings } from "utils/config";
+import { getSettings } from "utils/config/config";
export default async function handler(req, res) {
const { latitude, longitude, provider, cache, lang } = req.query;
diff --git a/src/pages/index.jsx b/src/pages/index.jsx
index a1faafb7b..25179e80f 100644
--- a/src/pages/index.jsx
+++ b/src/pages/index.jsx
@@ -9,20 +9,20 @@ import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import ServicesGroup from "components/services/group";
import BookmarksGroup from "components/bookmarks/group";
-import Widget from "components/widget";
-import Revalidate from "components/revalidate";
+import Widget from "components/widgets/widget";
+import Revalidate from "components/toggles/revalidate";
import createLogger from "utils/logger";
-import { getSettings } from "utils/config";
+import { getSettings } from "utils/config/config";
import { ColorContext } from "utils/contexts/color";
import { ThemeContext } from "utils/contexts/theme";
import { SettingsContext } from "utils/contexts/settings";
import { bookmarksResponse, servicesResponse, widgetsResponse } from "utils/config/api-response";
-const ThemeToggle = dynamic(() => import("components/theme-toggle"), {
+const ThemeToggle = dynamic(() => import("components/toggles/theme"), {
ssr: false,
});
-const ColorToggle = dynamic(() => import("components/color-toggle"), {
+const ColorToggle = dynamic(() => import("components/toggles/color"), {
ssr: false,
});
diff --git a/src/utils/config/api-response.js b/src/utils/config/api-response.js
index 502b2796d..0b929b131 100644
--- a/src/utils/config/api-response.js
+++ b/src/utils/config/api-response.js
@@ -4,8 +4,8 @@ import path from "path";
import yaml from "js-yaml";
-import checkAndCopyConfig from "utils/config";
-import { servicesFromConfig, servicesFromDocker, cleanServiceGroups } from "utils/service-helpers";
+import checkAndCopyConfig from "utils/config/config";
+import { servicesFromConfig, servicesFromDocker, cleanServiceGroups } from "utils/config/service-helpers";
export async function bookmarksResponse() {
checkAndCopyConfig("bookmarks.yaml");
diff --git a/src/utils/config.js b/src/utils/config/config.js
similarity index 100%
rename from src/utils/config.js
rename to src/utils/config/config.js
diff --git a/src/utils/docker.js b/src/utils/config/docker.js
similarity index 93%
rename from src/utils/docker.js
rename to src/utils/config/docker.js
index 14fb5c8d6..9aef74086 100644
--- a/src/utils/docker.js
+++ b/src/utils/config/docker.js
@@ -3,7 +3,7 @@ import { readFileSync } from "fs";
import yaml from "js-yaml";
-import checkAndCopyConfig from "utils/config";
+import checkAndCopyConfig from "utils/config/config";
export default function getDockerArguments(server) {
checkAndCopyConfig("docker.yaml");
diff --git a/src/utils/service-helpers.js b/src/utils/config/service-helpers.js
similarity index 97%
rename from src/utils/service-helpers.js
rename to src/utils/config/service-helpers.js
index 8918e264b..f36e0a56e 100644
--- a/src/utils/service-helpers.js
+++ b/src/utils/config/service-helpers.js
@@ -5,8 +5,8 @@ import yaml from "js-yaml";
import Docker from "dockerode";
import * as shvl from "shvl";
-import checkAndCopyConfig from "utils/config";
-import getDockerArguments from "utils/docker";
+import checkAndCopyConfig from "utils/config/config";
+import getDockerArguments from "utils/config/docker";
export async function servicesFromConfig() {
checkAndCopyConfig("services.yaml");
diff --git a/src/utils/proxy/handlers/credentialed.js b/src/utils/proxy/handlers/credentialed.js
index 7bea34f75..d14ef0e1c 100644
--- a/src/utils/proxy/handlers/credentialed.js
+++ b/src/utils/proxy/handlers/credentialed.js
@@ -1,4 +1,4 @@
-import getServiceWidget from "utils/service-helpers";
+import getServiceWidget from "utils/config/service-helpers";
import { formatApiCall } from "utils/proxy/api-helpers";
import { httpProxy } from "utils/proxy/http";
import createLogger from "utils/logger";
diff --git a/src/utils/proxy/handlers/generic.js b/src/utils/proxy/handlers/generic.js
index b25042f12..f93c83f2f 100644
--- a/src/utils/proxy/handlers/generic.js
+++ b/src/utils/proxy/handlers/generic.js
@@ -1,4 +1,4 @@
-import getServiceWidget from "utils/service-helpers";
+import getServiceWidget from "utils/config/service-helpers";
import { formatApiCall } from "utils/proxy/api-helpers";
import { httpProxy } from "utils/proxy/http";
import createLogger from "utils/logger";
diff --git a/src/widgets/adguard/component.jsx b/src/widgets/adguard/component.jsx
index e6f0d6bef..d16fc40ce 100644
--- a/src/widgets/adguard/component.jsx
+++ b/src/widgets/adguard/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,17 +13,17 @@ export default function Component({ service }) {
const { data: adguardData, error: adguardError } = useSWR(formatProxyUrl(config, "stats"));
if (adguardError) {
- return ;
+ return ;
}
if (!adguardData) {
return (
-
+
-
+
);
}
@@ -31,7 +31,7 @@ export default function Component({ service }) {
adguardData.num_replaced_safebrowsing + adguardData.num_replaced_safesearch + adguardData.num_replaced_parental;
return (
-
+
@@ -39,6 +39,6 @@ export default function Component({ service }) {
label={t("adguard.latency")}
value={t("common.ms", { value: adguardData.avg_processing_time * 1000, style: "unit", unit: "millisecond" })}
/>
-
+
);
}
diff --git a/src/widgets/authentik/component.jsx b/src/widgets/authentik/component.jsx
index 63fef6f38..af7e76002 100644
--- a/src/widgets/authentik/component.jsx
+++ b/src/widgets/authentik/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -15,16 +15,16 @@ export default function Component({ service }) {
const { data: failedLoginsData, error: failedLoginsError } = useSWR(formatProxyUrl(config, "login_failed"));
if (usersError || loginsError || failedLoginsError) {
- return ;
+ return ;
}
if (!usersData || !loginsData || !failedLoginsData) {
return (
-
+
-
+
);
}
@@ -39,10 +39,10 @@ export default function Component({ service }) {
);
return (
-
+
-
+
);
}
diff --git a/src/widgets/bazarr/component.jsx b/src/widgets/bazarr/component.jsx
index fd0630ce0..99338bfbd 100644
--- a/src/widgets/bazarr/component.jsx
+++ b/src/widgets/bazarr/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -14,22 +14,22 @@ export default function Component({ service }) {
const { data: moviesData, error: moviesError } = useSWR(formatProxyUrl(config, "movies"));
if (episodesError || moviesError) {
- return ;
+ return ;
}
if (!episodesData || !moviesData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/coinmarketcap/component.jsx b/src/widgets/coinmarketcap/component.jsx
index 88f700417..abd7efb5b 100644
--- a/src/widgets/coinmarketcap/component.jsx
+++ b/src/widgets/coinmarketcap/component.jsx
@@ -3,8 +3,8 @@ import { useState } from "react";
import { useTranslation } from "next-i18next";
import classNames from "classnames";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+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";
@@ -33,28 +33,28 @@ export default function Component({ service }) {
if (!symbols || symbols.length === 0) {
return (
-
+
-
+
);
}
if (statsError) {
- return ;
+ return ;
}
if (!statsData || !dateRange) {
return (
-
+
-
+
);
}
const { data } = statsData;
return (
-
+
@@ -87,6 +87,6 @@ export default function Component({ service }) {
))}
-
+
);
}
diff --git a/src/widgets/docker/component.jsx b/src/widgets/docker/component.jsx
index a9c26b1c6..719e7c9cc 100644
--- a/src/widgets/docker/component.jsx
+++ b/src/widgets/docker/component.jsx
@@ -3,8 +3,8 @@ import { useTranslation } from "next-i18next";
import calculateCPUPercent from "./stats-helpers";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
export default function Component({ service }) {
const { t } = useTranslation();
@@ -18,30 +18,30 @@ export default function Component({ service }) {
const { data: statsData, error: statsError } = useSWR(`/api/docker/stats/${config.container}/${config.server || ""}`);
if (statsError || statusError) {
- return ;
+ return ;
}
if (statusData && statusData.status !== "running") {
return (
-
+
-
+
);
}
if (!statsData || !statusData) {
return (
-
+
-
+
);
}
return (
-
+
{statsData.stats.networks && (
@@ -50,6 +50,6 @@ export default function Component({ service }) {
>
)}
-
+
);
}
diff --git a/src/widgets/emby/component.jsx b/src/widgets/emby/component.jsx
index c3217b3a6..6602ee931 100644
--- a/src/widgets/emby/component.jsx
+++ b/src/widgets/emby/component.jsx
@@ -3,7 +3,7 @@ import { useTranslation } from "next-i18next";
import { BsVolumeMuteFill, BsFillPlayFill, BsPauseFill, BsCpu, BsFillCpuFill } from "react-icons/bs";
import { MdOutlineSmartDisplay } from "react-icons/md";
-import Widget from "components/services/widgets/widget";
+import Container from "components/services/widget/container";
import { formatProxyUrl, formatProxyUrlWithSegments } from "utils/proxy/api-helpers";
function ticksToTime(ticks) {
@@ -172,7 +172,7 @@ export default function Component({ service }) {
}
if (sessionsError) {
- return ;
+ return ;
}
if (!sessionsData) {
diff --git a/src/widgets/gotify/component.jsx b/src/widgets/gotify/component.jsx
index 943a74787..63bcbfcf2 100644
--- a/src/widgets/gotify/component.jsx
+++ b/src/widgets/gotify/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -15,14 +15,14 @@ export default function Component({ service }) {
const { data: clientsData, error: clientsError } = useSWR(formatProxyUrl(config, `client`));
if (appsError || messagesError || clientsError) {
- return ;
+ return ;
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/jackett/component.jsx b/src/widgets/jackett/component.jsx
index e1d4083f7..903028efe 100644
--- a/src/widgets/jackett/component.jsx
+++ b/src/widgets/jackett/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,24 +13,24 @@ export default function Component({ service }) {
const { data: indexersData, error: indexersError } = useSWR(formatProxyUrl(config, "indexers"));
if (indexersError) {
- return ;
+ return ;
}
if (!indexersData) {
return (
-
+
-
+
);
}
const errored = indexersData.filter((indexer) => indexer.last_error);
return (
-
+
-
+
);
}
diff --git a/src/widgets/jellyseerr/component.jsx b/src/widgets/jellyseerr/component.jsx
index 1254d8d44..a38e2091c 100644
--- a/src/widgets/jellyseerr/component.jsx
+++ b/src/widgets/jellyseerr/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,24 +13,24 @@ export default function Component({ service }) {
const { data: statsData, error: statsError } = useSWR(formatProxyUrl(config, `request/count`));
if (statsError) {
- return ;
+ return ;
}
if (!statsData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/lidarr/component.jsx b/src/widgets/lidarr/component.jsx
index 588ca94b7..9cd99c990 100644
--- a/src/widgets/lidarr/component.jsx
+++ b/src/widgets/lidarr/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -15,24 +15,24 @@ export default function Component({ service }) {
const { data: queueData, error: queueError } = useSWR(formatProxyUrl(config, "queue/status"));
if (albumsError || wantedError || queueError) {
- return ;
+ return ;
}
if (!albumsData || !wantedData || !queueData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/mastodon/component.jsx b/src/widgets/mastodon/component.jsx
index cbd3635d5..34b57ffe6 100644
--- a/src/widgets/mastodon/component.jsx
+++ b/src/widgets/mastodon/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,24 +13,24 @@ export default function Component({ service }) {
const { data: statsData, error: statsError } = useSWR(formatProxyUrl(config, `instance`));
if (statsError) {
- return ;
+ return ;
}
if (!statsData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/npm/component.jsx b/src/widgets/npm/component.jsx
index 0d2ab75ec..aea4776f8 100644
--- a/src/widgets/npm/component.jsx
+++ b/src/widgets/npm/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,16 +13,16 @@ export default function Component({ service }) {
const { data: infoData, error: infoError } = useSWR(formatProxyUrl(config, "nginx/proxy-hosts"));
if (infoError) {
- return ;
+ return ;
}
if (!infoData) {
return (
-
+
-
+
);
}
@@ -31,10 +31,10 @@ export default function Component({ service }) {
const total = infoData.length;
return (
-
+
-
+
);
}
diff --git a/src/widgets/npm/proxy.js b/src/widgets/npm/proxy.js
index 44e760ebb..eed43b571 100644
--- a/src/widgets/npm/proxy.js
+++ b/src/widgets/npm/proxy.js
@@ -1,4 +1,4 @@
-import getServiceWidget from "utils/service-helpers";
+import getServiceWidget from "utils/config/service-helpers";
import { formatApiCall } from "utils/proxy/api-helpers";
import widgets from "widgets/widgets";
diff --git a/src/widgets/nzbget/component.jsx b/src/widgets/nzbget/component.jsx
index c57ba4156..a7a9f3bee 100644
--- a/src/widgets/nzbget/component.jsx
+++ b/src/widgets/nzbget/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,21 +13,21 @@ export default function Component({ service }) {
const { data: statusData, error: statusError } = useSWR(formatProxyUrl(config, "status"));
if (statusError) {
- return ;
+ return ;
}
if (!statusData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/nzbget/proxy.js b/src/widgets/nzbget/proxy.js
index 7f0a450d2..4feac7812 100644
--- a/src/widgets/nzbget/proxy.js
+++ b/src/widgets/nzbget/proxy.js
@@ -1,6 +1,6 @@
import { JSONRPCClient } from "json-rpc-2.0";
-import getServiceWidget from "utils/service-helpers";
+import getServiceWidget from "utils/config/service-helpers";
export default async function nzbgetProxyHandler(req, res) {
const { group, service, endpoint } = req.query;
diff --git a/src/widgets/ombi/component.jsx b/src/widgets/ombi/component.jsx
index d2b9544ba..779f89eb0 100644
--- a/src/widgets/ombi/component.jsx
+++ b/src/widgets/ombi/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,24 +13,24 @@ export default function Component({ service }) {
const { data: statsData, error: statsError } = useSWR(formatProxyUrl(config, `Request/count`));
if (statsError) {
- return ;
+ return ;
}
if (!statsData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/overseerr/component.jsx b/src/widgets/overseerr/component.jsx
index cb49dfbaa..49c98bea5 100644
--- a/src/widgets/overseerr/component.jsx
+++ b/src/widgets/overseerr/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,24 +13,24 @@ export default function Component({ service }) {
const { data: statsData, error: statsError } = useSWR(formatProxyUrl(config, "request/count"));
if (statsError) {
- return ;
+ return ;
}
if (!statsData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/pihole/component.jsx b/src/widgets/pihole/component.jsx
index e6c6862de..5b4fdc871 100644
--- a/src/widgets/pihole/component.jsx
+++ b/src/widgets/pihole/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,24 +13,24 @@ export default function Component({ service }) {
const { data: piholeData, error: piholeError } = useSWR(formatProxyUrl(config, "api.php"));
if (piholeError) {
- return ;
+ return ;
}
if (!piholeData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/portainer/component.jsx b/src/widgets/portainer/component.jsx
index 171a7f468..e62a69290 100644
--- a/src/widgets/portainer/component.jsx
+++ b/src/widgets/portainer/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -17,21 +17,21 @@ export default function Component({ service }) {
);
if (containersError) {
- return ;
+ return ;
}
if (!containersData) {
return (
-
+
-
+
);
}
if (containersData.error) {
- return ;
+ return ;
}
const running = containersData.filter((c) => c.State === "running").length;
@@ -39,10 +39,10 @@ export default function Component({ service }) {
const total = containersData.length;
return (
-
+
-
+
);
}
diff --git a/src/widgets/prowlarr/component.jsx b/src/widgets/prowlarr/component.jsx
index 9a3514938..5345a40ef 100644
--- a/src/widgets/prowlarr/component.jsx
+++ b/src/widgets/prowlarr/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -14,18 +14,18 @@ export default function Component({ service }) {
const { data: grabsData, error: grabsError } = useSWR(formatProxyUrl(config, "indexerstats"));
if (indexersError || grabsError) {
- return ;
+ return ;
}
if (!indexersData || !grabsData) {
return (
-
+
-
+
);
}
@@ -43,12 +43,12 @@ export default function Component({ service }) {
});
return (
-
+
-
+
);
}
diff --git a/src/widgets/qbittorrent/component.jsx b/src/widgets/qbittorrent/component.jsx
index d38c7eafd..27c7b2f35 100644
--- a/src/widgets/qbittorrent/component.jsx
+++ b/src/widgets/qbittorrent/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,17 +13,17 @@ export default function Component({ service }) {
const { data: torrentData, error: torrentError } = useSWR(formatProxyUrl(config, "torrents/info"));
if (torrentError) {
- return ;
+ return ;
}
if (!torrentData) {
return (
-
+
-
+
);
}
@@ -58,11 +58,11 @@ export default function Component({ service }) {
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/qbittorrent/proxy.js b/src/widgets/qbittorrent/proxy.js
index e9a83e13e..a585ea63e 100644
--- a/src/widgets/qbittorrent/proxy.js
+++ b/src/widgets/qbittorrent/proxy.js
@@ -1,7 +1,7 @@
import { formatApiCall } from "utils/proxy/api-helpers";
import { addCookieToJar, setCookieHeader } from "utils/proxy/cookie-jar";
import { httpProxy } from "utils/proxy/http";
-import getServiceWidget from "utils/service-helpers";
+import getServiceWidget from "utils/config/service-helpers";
async function login(widget, params) {
const loginUrl = new URL(`${widget.url}/api/v2/auth/login`);
diff --git a/src/widgets/radarr/component.jsx b/src/widgets/radarr/component.jsx
index 856724ef1..be931312c 100644
--- a/src/widgets/radarr/component.jsx
+++ b/src/widgets/radarr/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -14,24 +14,24 @@ export default function Component({ service }) {
const { data: queuedData, error: queuedError } = useSWR(formatProxyUrl(config, "queue/status"));
if (moviesError || queuedError) {
- return ;
+ return ;
}
if (!moviesData || !queuedData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/readarr/component.jsx b/src/widgets/readarr/component.jsx
index 64852ded9..572ff7006 100644
--- a/src/widgets/readarr/component.jsx
+++ b/src/widgets/readarr/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -15,24 +15,24 @@ export default function Component({ service }) {
const { data: queueData, error: queueError } = useSWR(formatProxyUrl(config, "queue/status"));
if (booksError || wantedError || queueError) {
- return ;
+ return ;
}
if (!booksData || !wantedData || !queueData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/rutorrent/component.jsx b/src/widgets/rutorrent/component.jsx
index 0f3a45bd2..146c023d9 100644
--- a/src/widgets/rutorrent/component.jsx
+++ b/src/widgets/rutorrent/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,16 +13,16 @@ export default function Component({ service }) {
const { data: statusData, error: statusError } = useSWR(formatProxyUrl(config));
if (statusError) {
- return ;
+ return ;
}
if (!statusData) {
return (
-
+
-
+
);
}
@@ -33,10 +33,10 @@ export default function Component({ service }) {
const active = statusData.filter((torrent) => torrent["d.get_state"] === "1");
return (
-
+
-
+
);
}
diff --git a/src/widgets/rutorrent/proxy.js b/src/widgets/rutorrent/proxy.js
index 78e7b8158..dae50c353 100644
--- a/src/widgets/rutorrent/proxy.js
+++ b/src/widgets/rutorrent/proxy.js
@@ -1,6 +1,6 @@
import RuTorrent from "rutorrent-promise";
-import getServiceWidget from "utils/service-helpers";
+import getServiceWidget from "utils/config/service-helpers";
export default async function rutorrentProxyHandler(req, res) {
const { group, service } = req.query;
diff --git a/src/widgets/sabnzbd/component.jsx b/src/widgets/sabnzbd/component.jsx
index 6ca6e35a6..56bd2b3b8 100644
--- a/src/widgets/sabnzbd/component.jsx
+++ b/src/widgets/sabnzbd/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,24 +13,24 @@ export default function Component({ service }) {
const { data: queueData, error: queueError } = useSWR(formatProxyUrl(config, "queue"));
if (queueError) {
- return ;
+ return ;
}
if (!queueData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/sonarr/component.jsx b/src/widgets/sonarr/component.jsx
index 05f5ecb41..7e5dbf25d 100644
--- a/src/widgets/sonarr/component.jsx
+++ b/src/widgets/sonarr/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -15,24 +15,24 @@ export default function Component({ service }) {
const { data: seriesData, error: seriesError } = useSWR(formatProxyUrl(config, "series"));
if (wantedError || queuedError || seriesError) {
- return ;
+ return ;
}
if (!wantedData || !queuedData || !seriesData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/speedtest/component.jsx b/src/widgets/speedtest/component.jsx
index bc15f8407..4ae7df2b5 100644
--- a/src/widgets/speedtest/component.jsx
+++ b/src/widgets/speedtest/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,21 +13,21 @@ export default function Component({ service }) {
const { data: speedtestData, error: speedtestError } = useSWR(formatProxyUrl(config, "speedtest/latest"));
if (speedtestError) {
- return ;
+ return ;
}
if (!speedtestData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/strelaysrv/component.jsx b/src/widgets/strelaysrv/component.jsx
index b77be020d..9dca1b21c 100644
--- a/src/widgets/strelaysrv/component.jsx
+++ b/src/widgets/strelaysrv/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,21 +13,21 @@ export default function Component({ service }) {
const { data: statsData, error: statsError } = useSWR(formatProxyUrl(config, `status`));
if (statsError) {
- return ;
+ return ;
}
if (!statsData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/tautulli/component.jsx b/src/widgets/tautulli/component.jsx
index a4bb1d81d..40627017b 100644
--- a/src/widgets/tautulli/component.jsx
+++ b/src/widgets/tautulli/component.jsx
@@ -4,7 +4,7 @@ import { useTranslation } from "next-i18next";
import { BsFillPlayFill, BsPauseFill, BsCpu, BsFillCpuFill } from "react-icons/bs";
import { MdOutlineSmartDisplay, MdSmartDisplay } from "react-icons/md";
-import Widget from "components/services/widgets/widget";
+import Container from "components/services/widget/container";
import { formatProxyUrl } from "utils/proxy/api-helpers";
function millisecondsToTime(milliseconds) {
@@ -124,7 +124,7 @@ export default function Component({ service }) {
});
if (activityError) {
- return ;
+ return ;
}
if (!activityData) {
diff --git a/src/widgets/traefik/component.jsx b/src/widgets/traefik/component.jsx
index 5ffb767f1..219db5d52 100644
--- a/src/widgets/traefik/component.jsx
+++ b/src/widgets/traefik/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,24 +13,24 @@ export default function Component({ service }) {
const { data: traefikData, error: traefikError } = useSWR(formatProxyUrl(config, "overview"));
if (traefikError) {
- return ;
+ return ;
}
if (!traefikData) {
return (
-
+
-
+
);
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/transmission/component.jsx b/src/widgets/transmission/component.jsx
index c4e7560af..55b6d8842 100644
--- a/src/widgets/transmission/component.jsx
+++ b/src/widgets/transmission/component.jsx
@@ -1,8 +1,8 @@
import useSWR from "swr";
import { useTranslation } from "next-i18next";
-import Widget from "components/services/widgets/widget";
-import Block from "components/services/widgets/block";
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
import { formatProxyUrl } from "utils/proxy/api-helpers";
export default function Component({ service }) {
@@ -13,17 +13,17 @@ export default function Component({ service }) {
const { data: torrentData, error: torrentError } = useSWR(formatProxyUrl(config));
if (torrentError) {
- return ;
+ return ;
}
if (!torrentData) {
return (
-
+
-
+
);
}
@@ -59,11 +59,11 @@ export default function Component({ service }) {
}
return (
-
+
-
+
);
}
diff --git a/src/widgets/transmission/proxy.js b/src/widgets/transmission/proxy.js
index 5d118922c..4ea10ccee 100644
--- a/src/widgets/transmission/proxy.js
+++ b/src/widgets/transmission/proxy.js
@@ -1,6 +1,6 @@
import { httpProxy } from "utils/proxy/http";
import { formatApiCall } from "utils/proxy/api-helpers";
-import getServiceWidget from "utils/service-helpers";
+import getServiceWidget from "utils/config/service-helpers";
export default async function transmissionProxyHandler(req, res) {
const { group, service, endpoint } = req.query;