mirror of
https://github.com/karl0ss/homepage.git
synced 2025-04-29 12:03:41 +01:00
wrapped proxy calls via useWidgetAPI
This commit is contained in:
parent
649f0038bc
commit
0a58f259ff
7
src/utils/proxy/use-widget-api.js
Normal file
7
src/utils/proxy/use-widget-api.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import useSWR from "swr";
|
||||||
|
|
||||||
|
import { formatProxyUrl } from "./api-helpers";
|
||||||
|
|
||||||
|
export default function useWidgetAPI(widget, ...options) {
|
||||||
|
return useSWR(formatProxyUrl(widget, ...options));
|
||||||
|
}
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (adguardError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: usersData, error: usersError } = useSWR(formatProxyUrl(config, "users"));
|
const { data: usersData, error: usersError } = useWidgetAPI(widget, "users");
|
||||||
const { data: loginsData, error: loginsError } = useSWR(formatProxyUrl(config, "login"));
|
const { data: loginsData, error: loginsError } = useWidgetAPI(widget, "login");
|
||||||
const { data: failedLoginsData, error: failedLoginsError } = useSWR(formatProxyUrl(config, "login_failed"));
|
const { data: failedLoginsData, error: failedLoginsError } = useWidgetAPI(widget, "login_failed");
|
||||||
|
|
||||||
if (usersError || loginsError || failedLoginsError) {
|
if (usersError || loginsError || failedLoginsError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: episodesData, error: episodesError } = useSWR(formatProxyUrl(config, "episodes"));
|
const { data: episodesData, error: episodesError } = useWidgetAPI(widget, "episodes");
|
||||||
const { data: moviesData, error: moviesError } = useSWR(formatProxyUrl(config, "movies"));
|
const { data: moviesData, error: moviesError } = useWidgetAPI(widget, "movies");
|
||||||
|
|
||||||
if (episodesError || moviesError) {
|
if (episodesError || moviesError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
import classNames from "classnames";
|
import classNames from "classnames";
|
||||||
@ -6,7 +5,7 @@ import classNames from "classnames";
|
|||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
import Block from "components/services/widget/block";
|
||||||
import Dropdown from "components/services/dropdown";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
@ -20,16 +19,14 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
const [dateRange, setDateRange] = useState(dateRangeOptions[0].value);
|
const [dateRange, setDateRange] = useState(dateRangeOptions[0].value);
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
const currencyCode = config.currency ?? "USD";
|
const { symbols } = widget;
|
||||||
const { symbols } = config;
|
const currencyCode = widget.currency ?? "USD";
|
||||||
|
|
||||||
const { data: statsData, error: statsError } = useSWR(
|
const { data: statsData, error: statsError } = useWidgetAPI(widget, "v1/cryptocurrency/quotes/latest", {
|
||||||
formatProxyUrl(config, "v1/cryptocurrency/quotes/latest", {
|
|
||||||
symbol: `${symbols.join(",")}`,
|
symbol: `${symbols.join(",")}`,
|
||||||
convert: `${currencyCode}`,
|
convert: `${currencyCode}`,
|
||||||
})
|
});
|
||||||
);
|
|
||||||
|
|
||||||
if (!symbols || symbols.length === 0) {
|
if (!symbols || symbols.length === 0) {
|
||||||
return (
|
return (
|
||||||
|
@ -9,13 +9,13 @@ import Block from "components/services/widget/block";
|
|||||||
export default function Component({ service }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: statusData, error: statusError } = useSWR(
|
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) {
|
if (statsError || statusError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -151,18 +151,18 @@ function SessionEntry({ playCommand, session }) {
|
|||||||
export default function Component({ service }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
data: sessionsData,
|
data: sessionsData,
|
||||||
error: sessionsError,
|
error: sessionsError,
|
||||||
mutate: sessionMutate,
|
mutate: sessionMutate,
|
||||||
} = useSWR(formatProxyUrl(config, "Sessions"), {
|
} = useSWR(formatProxyUrl(widget, "Sessions"), {
|
||||||
refreshInterval: 5000,
|
refreshInterval: 5000,
|
||||||
});
|
});
|
||||||
|
|
||||||
async function handlePlayCommand(session, command) {
|
async function handlePlayCommand(session, command) {
|
||||||
const url = formatProxyUrlWithSegments(config, "PlayControl", {
|
const url = formatProxyUrlWithSegments(widget, "PlayControl", {
|
||||||
sessionId: session.Id,
|
sessionId: session.Id,
|
||||||
command,
|
command,
|
||||||
});
|
});
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: appsData, error: appsError } = useSWR(formatProxyUrl(config, `application`));
|
const { data: appsData, error: appsError } = useWidgetAPI(widget, "application");
|
||||||
const { data: messagesData, error: messagesError } = useSWR(formatProxyUrl(config, `message`));
|
const { data: messagesData, error: messagesError } = useWidgetAPI(widget, "message");
|
||||||
const { data: clientsData, error: clientsError } = useSWR(formatProxyUrl(config, `client`));
|
const { data: clientsData, error: clientsError } = useWidgetAPI(widget, "client");
|
||||||
|
|
||||||
if (appsError || messagesError || clientsError) {
|
if (appsError || messagesError || clientsError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (indexersError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (statsError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: albumsData, error: albumsError } = useSWR(formatProxyUrl(config, "album"));
|
const { data: albumsData, error: albumsError } = useWidgetAPI(widget, "album");
|
||||||
const { data: wantedData, error: wantedError } = useSWR(formatProxyUrl(config, "wanted/missing"));
|
const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing");
|
||||||
const { data: queueData, error: queueError } = useSWR(formatProxyUrl(config, "queue/status"));
|
const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue/status");
|
||||||
|
|
||||||
if (albumsError || wantedError || queueError) {
|
if (albumsError || wantedError || queueError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (statsError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (infoError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation("common");
|
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) {
|
if (statusError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (statsError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (statsError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (piholeError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,20 +1,17 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: containersData, error: containersError } = useSWR(
|
const { data: containersData, error: containersError } = useWidgetAPI(widget, "docker/containers/json", {
|
||||||
formatProxyUrl(config, `docker/containers/json`, {
|
|
||||||
all: 1,
|
all: 1,
|
||||||
})
|
});
|
||||||
);
|
|
||||||
|
|
||||||
if (containersError) {
|
if (containersError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: indexersData, error: indexersError } = useSWR(formatProxyUrl(config, "indexer"));
|
const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexer");
|
||||||
const { data: grabsData, error: grabsError } = useSWR(formatProxyUrl(config, "indexerstats"));
|
const { data: grabsData, error: grabsError } = useWidgetAPI(widget, "indexerstats");
|
||||||
|
|
||||||
if (indexersError || grabsError) {
|
if (indexersError || grabsError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (torrentError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
@ -42,27 +41,12 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
const leech = torrentData.length - completed;
|
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 (
|
return (
|
||||||
<Container>
|
<Container>
|
||||||
<Block label={t("qbittorrent.leech")} value={t("common.number", { value: leech })} />
|
<Block label={t("qbittorrent.leech")} value={t("common.number", { value: leech })} />
|
||||||
<Block label={t("qbittorrent.download")} value={`${rateDl.toFixed(2)} ${unitsDl}`} />
|
<Block label={t("qbittorrent.download")} value={t("common.bitrate", { value: rateDl })} />
|
||||||
<Block label={t("qbittorrent.seed")} value={t("common.number", { value: completed })} />
|
<Block label={t("qbittorrent.seed")} value={t("common.number", { value: completed })} />
|
||||||
<Block label={t("qbittorrent.upload")} value={`${rateUl.toFixed(2)} ${unitsUl}`} />
|
<Block label={t("qbittorrent.upload")} value={t("common.bitrate", { value: rateUl })} />
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: moviesData, error: moviesError } = useSWR(formatProxyUrl(config, "movie"));
|
const { data: moviesData, error: moviesError } = useWidgetAPI(widget, "movie");
|
||||||
const { data: queuedData, error: queuedError } = useSWR(formatProxyUrl(config, "queue/status"));
|
const { data: queuedData, error: queuedError } = useWidgetAPI(widget, "queue/status");
|
||||||
|
|
||||||
if (moviesError || queuedError) {
|
if (moviesError || queuedError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: booksData, error: booksError } = useSWR(formatProxyUrl(config, "book"));
|
const { data: booksData, error: booksError } = useWidgetAPI(widget, "book");
|
||||||
const { data: wantedData, error: wantedError } = useSWR(formatProxyUrl(config, "wanted/missing"));
|
const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing");
|
||||||
const { data: queueData, error: queueError } = useSWR(formatProxyUrl(config, "queue/status"));
|
const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue/status");
|
||||||
|
|
||||||
if (booksError || wantedError || queueError) {
|
if (booksError || wantedError || queueError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (statusError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (queueError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const config = service.widget;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: wantedData, error: wantedError } = useSWR(formatProxyUrl(config, "wanted/missing"));
|
const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing");
|
||||||
const { data: queuedData, error: queuedError } = useSWR(formatProxyUrl(config, "queue"));
|
const { data: queuedData, error: queuedError } = useWidgetAPI(widget, "queue");
|
||||||
const { data: seriesData, error: seriesError } = useSWR(formatProxyUrl(config, "series"));
|
const { data: seriesData, error: seriesError } = useWidgetAPI(widget, "series");
|
||||||
|
|
||||||
if (wantedError || queuedError || seriesError) {
|
if (wantedError || queuedError || seriesError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (speedtestError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (statsError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -117,9 +117,9 @@ function SessionEntry({ session }) {
|
|||||||
export default function Component({ service }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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,
|
refreshInterval: 5000,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (traefikError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import useSWR from "swr";
|
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Container from "components/services/widget/container";
|
import Container from "components/services/widget/container";
|
||||||
import Block from "components/services/widget/block";
|
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 }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
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) {
|
if (torrentError) {
|
||||||
return <Container error={t("widget.api_error")} />;
|
return <Container error={t("widget.api_error")} />;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user