mirror of
https://github.com/karl0ss/homepage.git
synced 2025-04-29 12:03:41 +01:00
Merge pull request #1437 from GAntoine/hide-widget-on-error-setting
Add setting to hide widgets on failure
This commit is contained in:
commit
f4ffc2d29b
@ -1,8 +1,18 @@
|
||||
import { useContext } from "react";
|
||||
|
||||
import Error from "./error";
|
||||
|
||||
import { SettingsContext } from "utils/contexts/settings";
|
||||
|
||||
export default function Container({ error = false, children, service }) {
|
||||
const { settings } = useContext(SettingsContext);
|
||||
|
||||
if (error) {
|
||||
return <Error error={error} />
|
||||
if (settings.hideErrors || service.widget.hide_errors) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return <Error service={service} error={error} />
|
||||
}
|
||||
|
||||
let visibleChildren = children;
|
||||
|
@ -9,12 +9,10 @@ function displayData(data) {
|
||||
return (data.type === 'Buffer') ? Buffer.from(data).toString() : JSON.stringify(data, 4);
|
||||
}
|
||||
|
||||
export default function Error({ error }) {
|
||||
export default function Error({ error: err }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
if (error?.data?.error) {
|
||||
error = error.data.error; // eslint-disable-line no-param-reassign
|
||||
}
|
||||
const { error } = err?.data ?? { error: err };
|
||||
|
||||
return (
|
||||
<details className="px-1 pb-1">
|
||||
|
@ -257,6 +257,7 @@ export function cleanServiceGroups(groups) {
|
||||
const {
|
||||
type, // all widgets
|
||||
fields,
|
||||
hideErrors,
|
||||
server, // docker widget
|
||||
container,
|
||||
currency, // coinmarketcap widget
|
||||
@ -269,7 +270,7 @@ export function cleanServiceGroups(groups) {
|
||||
wan, // opnsense widget,
|
||||
enableBlocks, // emby/jellyfin
|
||||
enableNowPlaying,
|
||||
volume // diskstation widget
|
||||
volume, // diskstation widget
|
||||
} = cleanedService.widget;
|
||||
|
||||
const fieldsList = typeof fields === 'string' ? JSON.parse(fields) : fields;
|
||||
@ -277,6 +278,7 @@ export function cleanServiceGroups(groups) {
|
||||
cleanedService.widget = {
|
||||
type,
|
||||
fields: fieldsList || null,
|
||||
hide_errors: hideErrors || false,
|
||||
service_name: service.name,
|
||||
service_group: serviceGroup.name,
|
||||
};
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: adguardData, error: adguardError } = useWidgetAPI(widget, "stats");
|
||||
|
||||
if (adguardError) {
|
||||
return <Container error={adguardError} />;
|
||||
return <Container service={service} error={adguardError} />;
|
||||
}
|
||||
|
||||
if (!adguardData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
|
||||
|
||||
if (librariesError) {
|
||||
return <Container error={librariesError} />;
|
||||
return <Container service={service} error={librariesError} />;
|
||||
}
|
||||
|
||||
if (!librariesData) {
|
||||
|
@ -15,7 +15,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (usersError || loginsError || failedLoginsError) {
|
||||
const finalError = usersError ?? loginsError ?? failedLoginsError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!usersData || !loginsData || !failedLoginsData) {
|
||||
|
@ -15,7 +15,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (statsError || filtersError || indexersError) {
|
||||
const finalError = statsError ?? filtersError ?? indexersError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!statsData || !filtersData || !indexersData) {
|
||||
|
@ -14,7 +14,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (moviesError || episodesError) {
|
||||
const finalError = moviesError ?? episodesError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!episodesData || !moviesData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data, error } = useWidgetAPI(widget, "info");
|
||||
|
||||
if (error) {
|
||||
return <Container error={error} />;
|
||||
return <Container service={service} error={error} />;
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
|
@ -11,7 +11,7 @@ export default function Component({ service }) {
|
||||
const { data: channelsData, error: channelsError } = useWidgetAPI(widget, "status");
|
||||
|
||||
if (channelsError) {
|
||||
return <Container error={channelsError} />;
|
||||
return <Container service={service} error={channelsError} />;
|
||||
}
|
||||
|
||||
if (!channelsData) {
|
||||
|
@ -8,7 +8,7 @@ export default function Component({ service }) {
|
||||
const { data: statsData, error: statsError } = useWidgetAPI(widget, "cfd_tunnel");
|
||||
|
||||
if (statsError) {
|
||||
return <Container error={statsError} />;
|
||||
return <Container service={service} error={statsError} />;
|
||||
}
|
||||
|
||||
if (!statsData) {
|
||||
@ -28,4 +28,4 @@ export default function Component({ service }) {
|
||||
<Block label="cloudflared.origin_ip" value={originIP} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ export default function Component({ service }) {
|
||||
}
|
||||
|
||||
if (statsError) {
|
||||
return <Container error={statsError} />;
|
||||
return <Container service={service} error={statsError} />;
|
||||
}
|
||||
|
||||
if (!statsData || !dateRange) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: torrentData, error: torrentError } = useWidgetAPI(widget);
|
||||
|
||||
if (torrentError) {
|
||||
return <Container error={torrentError} />;
|
||||
return <Container service={service} error={torrentError} />;
|
||||
}
|
||||
|
||||
if (!torrentData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: utilizationData, error: utilizationError } = useWidgetAPI(widget, "utilization");
|
||||
|
||||
if (storageError || infoError || utilizationError) {
|
||||
return <Container error={ storageError ?? infoError ?? utilizationError } />;
|
||||
return <Container service={service} error={ storageError ?? infoError ?? utilizationError } />;
|
||||
}
|
||||
|
||||
if (!storageData || !infoData || !utilizationData) {
|
||||
|
@ -19,7 +19,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (statsError || statsData?.error || statusError || statusData?.error) {
|
||||
const finalError = statsError ?? statsData?.error ?? statusError ?? statusData?.error;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (statusData && !(statusData.status.includes("running") || statusData.status.includes("partial"))) {
|
||||
|
@ -10,7 +10,7 @@ export default function Component({ service }) {
|
||||
const { data: listData, error: listError } = useWidgetAPI(widget, "list");
|
||||
|
||||
if (listError) {
|
||||
return <Container error={listError} />;
|
||||
return <Container service={service} error={listError} />;
|
||||
}
|
||||
|
||||
const tasks = listData?.data?.tasks;
|
||||
|
@ -206,7 +206,7 @@ export default function Component({ service }) {
|
||||
}
|
||||
|
||||
if (sessionsError || countError) {
|
||||
return <Container error={sessionsError ?? countError} />;
|
||||
return <Container service={service} error={sessionsError ?? countError} />;
|
||||
}
|
||||
|
||||
const enableBlocks = service.widget?.enableBlocks
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: fileflowsData, error: fileflowsError } = useWidgetAPI(widget, "status");
|
||||
|
||||
if (fileflowsError) {
|
||||
return <Container error={fileflowsError} />;
|
||||
return <Container service={service} error={fileflowsError} />;
|
||||
}
|
||||
|
||||
if (!fileflowsData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: torrentData, error: torrentError } = useWidgetAPI(widget, "torrents");
|
||||
|
||||
if (torrentError || !torrentData?.torrents) {
|
||||
return <Container error={torrentError ?? {message: "No torrent data returned"}} />;
|
||||
return <Container service={service} error={torrentError ?? {message: "No torrent data returned"}} />;
|
||||
}
|
||||
|
||||
if (!torrentData || !torrentData.torrents) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: freshrssData, error: freshrssError } = useWidgetAPI(widget, "info");
|
||||
|
||||
if (freshrssError) {
|
||||
return <Container error={freshrssError} />;
|
||||
return <Container service={service} error={freshrssError} />;
|
||||
}
|
||||
|
||||
if (!freshrssData) {
|
||||
|
@ -18,7 +18,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (ghostfolioErrorToday || ghostfolioErrorYear || ghostfolioErrorMax) {
|
||||
const finalError = ghostfolioErrorToday ?? ghostfolioErrorYear ?? ghostfolioErrorMax
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!performanceToday || !performanceYear || !performanceMax) {
|
||||
|
@ -8,7 +8,7 @@ export default function Component({ service }) {
|
||||
const { data: gluetunData, error: gluetunError } = useWidgetAPI(widget, "ip");
|
||||
|
||||
if (gluetunError) {
|
||||
return <Container error={gluetunError} />;
|
||||
return <Container service={service} error={gluetunError} />;
|
||||
}
|
||||
|
||||
if (!gluetunData) {
|
||||
|
@ -11,7 +11,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (appsError || messagesError || clientsError) {
|
||||
const finalError = appsError ?? messagesError ?? clientsError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: alertsData, error: alertsError } = useWidgetAPI(widget, "alerts");
|
||||
|
||||
if (statsError || alertsError) {
|
||||
return <Container error={statsError ?? alertsError} />;
|
||||
return <Container service={service} error={statsError ?? alertsError} />;
|
||||
}
|
||||
|
||||
if (!statsData || !alertsData) {
|
||||
|
@ -8,7 +8,7 @@ export default function Component({ service }) {
|
||||
const { data: channelsData, error: channelsError } = useWidgetAPI(widget, "lineup");
|
||||
|
||||
if (channelsError) {
|
||||
return <Container error={channelsError} />;
|
||||
return <Container service={service} error={channelsError} />;
|
||||
}
|
||||
|
||||
if (!channelsData) {
|
||||
|
@ -30,7 +30,7 @@ export default function Component({ service }) {
|
||||
const { data, error } = useWidgetAPI(widget, "checks");
|
||||
|
||||
if (error) {
|
||||
return <Container error={error} />;
|
||||
return <Container service={service} error={error} />;
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
|
@ -7,7 +7,7 @@ export default function Component({ service }) {
|
||||
|
||||
const { data, error } = useWidgetAPI(widget, null, { refreshInterval: 60000 });
|
||||
if (error) {
|
||||
return <Container error={error} />;
|
||||
return <Container service={service} error={error} />;
|
||||
}
|
||||
|
||||
return <Container service={service}>
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: homebridgeData, error: homebridgeError } = useWidgetAPI(widget, "info");
|
||||
|
||||
if (homebridgeError) {
|
||||
return <Container error={homebridgeError} />;
|
||||
return <Container service={service} error={homebridgeError} />;
|
||||
}
|
||||
|
||||
if (!homebridgeData) {
|
||||
|
@ -11,7 +11,7 @@ export default function Component({ service }) {
|
||||
const { data: immichData, error: immichError } = useWidgetAPI(widget);
|
||||
|
||||
if (immichError || immichData?.statusCode === 401) {
|
||||
return <Container error={immichError ?? immichData} />;
|
||||
return <Container service={service} error={immichError ?? immichData} />;
|
||||
}
|
||||
|
||||
if (!immichData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexers");
|
||||
|
||||
if (indexersError) {
|
||||
return <Container error={indexersError} />;
|
||||
return <Container service={service} error={indexersError} />;
|
||||
}
|
||||
|
||||
if (!indexersData) {
|
||||
|
@ -8,7 +8,7 @@ export default function Component({ service }) {
|
||||
const { data: statsData, error: statsError } = useWidgetAPI(widget, "request/count");
|
||||
|
||||
if (statsError) {
|
||||
return <Container error={statsError} />;
|
||||
return <Container service={service} error={statsError} />;
|
||||
}
|
||||
|
||||
if (!statsData) {
|
||||
|
@ -14,7 +14,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (libraryError || seriesError || bookError) {
|
||||
const finalError = libraryError ?? seriesError ?? bookError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!libraryData || !seriesData || !bookData) {
|
||||
@ -34,4 +34,4 @@ export default function Component({ service }) {
|
||||
<Block label="komga.books" value={t("common.number", { value: bookData.totalElements })} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ export default function Component({ service }) {
|
||||
const { data: statusData, error: statusError } = useWidgetAPI(widget, "status");
|
||||
|
||||
if (statusError) {
|
||||
return <Container error={statusError} />;
|
||||
return <Container service={service} error={statusError} />;
|
||||
}
|
||||
|
||||
const source = statusData?.sources[0];
|
||||
@ -65,4 +65,4 @@ export default function Component({ service }) {
|
||||
{nextTime && <Block label="kopia.nextrun" value={ relativeDate(nextTime) } />}
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ export default function Component({ service }) {
|
||||
`/api/kubernetes/stats/${widget.namespace}/${widget.app}?${podSelectorString}`);
|
||||
|
||||
if (statsError || statusError) {
|
||||
return <Container error={t("widget.api_error")} />;
|
||||
return <Container service={service} error={t("widget.api_error")} />;
|
||||
}
|
||||
|
||||
if (statusData && statusData.status !== "running") {
|
||||
|
@ -15,7 +15,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (albumsError || wantedError || queueError) {
|
||||
const finalError = albumsError ?? wantedError ?? queueError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!albumsData || !wantedData || !queueData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: statsData, error: statsError } = useWidgetAPI(widget, "instance");
|
||||
|
||||
if (statsError) {
|
||||
return <Container error={statsError} />;
|
||||
return <Container service={service} error={statsError} />;
|
||||
}
|
||||
|
||||
if (!statsData) {
|
||||
|
@ -13,7 +13,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (statsError || futureError) {
|
||||
const finalError = statsError ?? futureError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!statsData || !futureData) {
|
||||
|
@ -14,7 +14,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (statsError || leasesError) {
|
||||
const finalError = statsError ?? leasesError;
|
||||
return <Container error={ finalError } />;
|
||||
return <Container service={service} error={ finalError } />;
|
||||
}
|
||||
|
||||
if (!statsData || !leasesData) {
|
||||
|
@ -10,7 +10,7 @@ export default function Component({ service }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
if(serverError){
|
||||
return <Container error={serverError} />;
|
||||
return <Container service={service} error={serverError} />;
|
||||
}
|
||||
if (!serverData) {
|
||||
return (
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: minifluxData, error: minifluxError } = useWidgetAPI(widget, "counters");
|
||||
|
||||
if (minifluxError) {
|
||||
return <Container error={minifluxError} />;
|
||||
return <Container service={service} error={minifluxError} />;
|
||||
}
|
||||
|
||||
if (!minifluxData) {
|
||||
|
@ -15,7 +15,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (printStatsError || displayStatsError || webHooksError) {
|
||||
const finalError = printStatsError ?? displayStatsError ?? webHooksError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!printStats || !displayStatus || !webHooks) {
|
||||
|
@ -15,7 +15,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (seriesError || issuesError || wantedError) {
|
||||
const finalError = seriesError ?? issuesError ?? wantedError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!seriesData || !issuesData || !wantedData) {
|
||||
@ -37,4 +37,4 @@ export default function Component({ service }) {
|
||||
<Block label="mylar.wanted" value={t("common.number", { value: wantedData.issues.length })} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ export default function Component({ service }) {
|
||||
const { data: navidromeData, error: navidromeError } = useWidgetAPI(widget, "getNowPlaying");
|
||||
|
||||
if (navidromeError || navidromeData?.["subsonic-response"]?.error) {
|
||||
return <Container error={navidromeError ?? navidromeData?.["subsonic-response"]?.error} />;
|
||||
return <Container service={service} error={navidromeError ?? navidromeData?.["subsonic-response"]?.error} />;
|
||||
}
|
||||
|
||||
if (!navidromeData) {
|
||||
|
@ -11,7 +11,7 @@ export default function Component({ service }) {
|
||||
const { data: nextcloudData, error: nextcloudError } = useWidgetAPI(widget, "serverinfo");
|
||||
|
||||
if (nextcloudError) {
|
||||
return <Container error={nextcloudError} />;
|
||||
return <Container service={service} error={nextcloudError} />;
|
||||
}
|
||||
|
||||
if (!nextcloudData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: nextdnsData, error: nextdnsError } = useWidgetAPI(widget, "analytics/status");
|
||||
|
||||
if (nextdnsError) {
|
||||
return <Container error={nextdnsError} />;
|
||||
return <Container service={service} error={nextdnsError} />;
|
||||
}
|
||||
|
||||
if (!nextdnsData) {
|
||||
|
@ -8,7 +8,7 @@ export default function Component({ service }) {
|
||||
const { data: infoData, error: infoError } = useWidgetAPI(widget, "nginx/proxy-hosts");
|
||||
|
||||
if (infoError) {
|
||||
return <Container error={infoError} />;
|
||||
return <Container service={service} error={infoError} />;
|
||||
}
|
||||
|
||||
if (!infoData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: statusData, error: statusError } = useWidgetAPI(widget, "status");
|
||||
|
||||
if (statusError) {
|
||||
return <Container error={statusError} />;
|
||||
return <Container service={service} error={statusError} />;
|
||||
}
|
||||
|
||||
if (!statusData) {
|
||||
|
@ -9,11 +9,11 @@ export default function Component({ service }) {
|
||||
const { data: jobStats, error: jobStatsError } = useWidgetAPI(widget, "job_stats");
|
||||
|
||||
if (printerStatsError) {
|
||||
return <Container error={printerStatsError} />;
|
||||
return <Container service={service} error={printerStatsError} />;
|
||||
}
|
||||
|
||||
if (jobStatsError) {
|
||||
return <Container error={jobStatsError} />;
|
||||
return <Container service={service} error={jobStatsError} />;
|
||||
}
|
||||
|
||||
const state = printerStats?.state?.text;
|
||||
|
@ -14,7 +14,7 @@ export default function Component({ service }) {
|
||||
});
|
||||
|
||||
if (omadaAPIError) {
|
||||
return <Container error={omadaAPIError} />;
|
||||
return <Container service={service} error={omadaAPIError} />;
|
||||
}
|
||||
|
||||
if (!omadaData) {
|
||||
|
@ -8,7 +8,7 @@ export default function Component({ service }) {
|
||||
const { data: statsData, error: statsError } = useWidgetAPI(widget, "Request/count");
|
||||
|
||||
if (statsError) {
|
||||
return <Container error={statsError} />;
|
||||
return <Container service={service} error={statsError} />;
|
||||
}
|
||||
|
||||
if (!statsData) {
|
||||
|
@ -14,7 +14,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (activityError || interfaceError) {
|
||||
const finalError = activityError ?? interfaceError;
|
||||
return <Container error={ finalError } />;
|
||||
return <Container service={service} error={ finalError } />;
|
||||
}
|
||||
|
||||
if (!activityData || !interfaceData) {
|
||||
|
@ -11,7 +11,7 @@ export default function Component({ service }) {
|
||||
const { data: statsData, error: statsError } = useWidgetAPI(widget, "request/count");
|
||||
|
||||
if (statsError) {
|
||||
return <Container error={statsError} />;
|
||||
return <Container service={service} error={statsError} />;
|
||||
}
|
||||
|
||||
if (!statsData) {
|
||||
|
@ -8,7 +8,7 @@ export default function Component({ service }) {
|
||||
const { data: statisticsData, error: statisticsError } = useWidgetAPI(widget, "statistics");
|
||||
|
||||
if (statisticsError) {
|
||||
return <Container error={statisticsError} />;
|
||||
return <Container service={service} error={statisticsError} />;
|
||||
}
|
||||
|
||||
if (!statisticsData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: photoprismData, error: photoprismError } = useWidgetAPI(widget);
|
||||
|
||||
if (photoprismError) {
|
||||
return <Container error={photoprismError} />;
|
||||
return <Container service={service} error={photoprismError} />;
|
||||
}
|
||||
|
||||
if (!photoprismData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: piholeData, error: piholeError } = useWidgetAPI(widget, "summaryRaw");
|
||||
|
||||
if (piholeError) {
|
||||
return <Container error={piholeError} />;
|
||||
return <Container service={service} error={piholeError} />;
|
||||
}
|
||||
|
||||
if (!piholeData) {
|
||||
|
@ -14,7 +14,7 @@ export default function Component({ service }) {
|
||||
});
|
||||
|
||||
if (plexAPIError) {
|
||||
return <Container error={plexAPIError} />;
|
||||
return <Container service={service} error={plexAPIError} />;
|
||||
}
|
||||
|
||||
if (!plexData) {
|
||||
|
@ -14,7 +14,7 @@ export default function Component({ service }) {
|
||||
});
|
||||
|
||||
if (containersError) {
|
||||
return <Container error={containersError} />;
|
||||
return <Container service={service} error={containersError} />;
|
||||
}
|
||||
|
||||
if (!containersData) {
|
||||
@ -28,7 +28,7 @@ export default function Component({ service }) {
|
||||
}
|
||||
|
||||
if (containersData.error) {
|
||||
return <Container error={t("widget.api_error")} />;
|
||||
return <Container service={service} error={t("widget.api_error")} />;
|
||||
}
|
||||
|
||||
const running = containersData.filter((c) => c.State === "running").length;
|
||||
|
@ -11,7 +11,7 @@ export default function Component({ service }) {
|
||||
const { data: targetsData, error: targetsError } = useWidgetAPI(widget, "targets");
|
||||
|
||||
if (targetsError) {
|
||||
return <Container error={targetsError} />;
|
||||
return <Container service={service} error={targetsError} />;
|
||||
}
|
||||
|
||||
if (!targetsData) {
|
||||
|
@ -11,7 +11,7 @@ export default function Component({ service }) {
|
||||
const { data: grabsData, error: grabsError } = useWidgetAPI(widget, "indexerstats");
|
||||
|
||||
if (grabsError) {
|
||||
return <Container error={grabsError} />;
|
||||
return <Container service={service} error={grabsError} />;
|
||||
}
|
||||
|
||||
if (!grabsData) {
|
||||
|
@ -16,7 +16,7 @@ export default function Component({ service }) {
|
||||
const { data: clusterData, error: clusterError } = useWidgetAPI(widget, "cluster/resources");
|
||||
|
||||
if (clusterError) {
|
||||
return <Container error={clusterError} />;
|
||||
return <Container service={service} error={clusterError} />;
|
||||
}
|
||||
|
||||
if (!clusterData || !clusterData.data) {
|
||||
|
@ -15,7 +15,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (datastoreError || tasksError || hostError) {
|
||||
const finalError = tasksError ?? datastoreError ?? hostError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!datastoreData || !tasksData || !hostData) {
|
||||
|
@ -10,7 +10,7 @@ export default function Component({ service }) {
|
||||
const {data: nodesData, error: nodesError} = useWidgetAPI(widget, "nodes");
|
||||
|
||||
if (nodesError) {
|
||||
return <Container error={ nodesError } />;
|
||||
return <Container service={service} error={ nodesError } />;
|
||||
}
|
||||
|
||||
if (!nodesData) {
|
||||
|
@ -10,7 +10,7 @@ export default function Component({ service }) {
|
||||
const { data: pyloadData, error: pyloadError } = useWidgetAPI(widget, "status");
|
||||
|
||||
if (pyloadError) {
|
||||
return <Container error={pyloadError} />;
|
||||
return <Container service={service} error={pyloadError} />;
|
||||
}
|
||||
|
||||
if (!pyloadData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: torrentData, error: torrentError } = useWidgetAPI(widget, "torrents/info");
|
||||
|
||||
if (torrentError) {
|
||||
return <Container error={torrentError} />;
|
||||
return <Container service={service} error={torrentError} />;
|
||||
}
|
||||
|
||||
if (!torrentData) {
|
||||
|
@ -13,7 +13,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (moviesError || queuedError) {
|
||||
const finalError = moviesError ?? queuedError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!moviesData || !queuedData) {
|
||||
|
@ -15,7 +15,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (booksError || wantedError || queueError) {
|
||||
const finalError = booksError ?? wantedError ?? queueError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!booksData || !wantedData || !queueData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: statusData, error: statusError } = useWidgetAPI(widget);
|
||||
|
||||
if (statusError) {
|
||||
return <Container error={statusError} />;
|
||||
return <Container service={service} error={statusError} />;
|
||||
}
|
||||
|
||||
if (!statusData) {
|
||||
|
@ -22,7 +22,7 @@ export default function Component({ service }) {
|
||||
const { data: queueData, error: queueError } = useWidgetAPI(widget, "queue");
|
||||
|
||||
if (queueError) {
|
||||
return <Container error={queueError} />;
|
||||
return <Container service={service} error={queueError} />;
|
||||
}
|
||||
|
||||
if (!queueData) {
|
||||
|
@ -29,7 +29,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (scrutinyError || scrutinySettingsError) {
|
||||
const finalError = scrutinyError ?? scrutinySettingsError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!scrutinyData || !scrutinySettings) {
|
||||
|
@ -14,7 +14,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (wantedError || queuedError || seriesError) {
|
||||
const finalError = wantedError ?? queuedError ?? seriesError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!wantedData || !queuedData || !seriesData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: speedtestData, error: speedtestError } = useWidgetAPI(widget, "speedtest/latest");
|
||||
|
||||
if (speedtestError) {
|
||||
return <Container error={speedtestError} />;
|
||||
return <Container service={service} error={speedtestError} />;
|
||||
}
|
||||
|
||||
if (!speedtestData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: statsData, error: statsError } = useWidgetAPI(widget, "status");
|
||||
|
||||
if (statsError) {
|
||||
return <Container error={statsError} />;
|
||||
return <Container service={service} error={statsError} />;
|
||||
}
|
||||
|
||||
if (!statsData) {
|
||||
|
@ -123,7 +123,7 @@ export default function Component({ service }) {
|
||||
});
|
||||
|
||||
if (activityError) {
|
||||
return <Container error={activityError} />;
|
||||
return <Container service={service} error={activityError} />;
|
||||
}
|
||||
|
||||
if (!activityData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: tdarrData, error: tdarrError } = useWidgetAPI(widget);
|
||||
|
||||
if (tdarrError) {
|
||||
return <Container error={tdarrError} />;
|
||||
return <Container service={service} error={tdarrError} />;
|
||||
}
|
||||
|
||||
if (!tdarrData) {
|
||||
|
@ -8,7 +8,7 @@ export default function Component({ service }) {
|
||||
const { data: traefikData, error: traefikError } = useWidgetAPI(widget, "overview");
|
||||
|
||||
if (traefikError) {
|
||||
return <Container error={traefikError} />;
|
||||
return <Container service={service} error={traefikError} />;
|
||||
}
|
||||
|
||||
if (!traefikData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: torrentData, error: torrentError } = useWidgetAPI(widget);
|
||||
|
||||
if (torrentError) {
|
||||
return <Container error={torrentError} />;
|
||||
return <Container service={service} error={torrentError} />;
|
||||
}
|
||||
|
||||
if (!torrentData) {
|
||||
|
@ -43,7 +43,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (alertError || statusError) {
|
||||
const finalError = alertError ?? statusError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!alertData || !statusData) {
|
||||
|
@ -16,7 +16,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (downloadsError || videosError || channelsError || playlistsError) {
|
||||
const finalError = downloadsError ?? videosError ?? channelsError ?? playlistsError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!downloadsData || !videosData || !channelsData || !playlistsData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: statsData, error: statsError } = useWidgetAPI(widget, "stat/sites");
|
||||
|
||||
if (statsError) {
|
||||
return <Container error={statsError} />;
|
||||
return <Container service={service} error={statsError} />;
|
||||
}
|
||||
|
||||
const defaultSite = widget.site ? statsData?.data.find(s => s.desc === widget.site) : statsData?.data?.find(s => s.name === "default");
|
||||
|
@ -10,7 +10,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (workersError || pendingError) {
|
||||
const finalError = workersError ?? pendingError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!workersData || !pendingData) {
|
||||
|
@ -13,7 +13,7 @@ export default function Component({ service }) {
|
||||
const { data: heartbeatData, error: heartbeatError } = useWidgetAPI(widget, "heartbeat");
|
||||
|
||||
if (statusError || heartbeatError) {
|
||||
return <Container error={statusError ?? heartbeatError} />;
|
||||
return <Container service={service} error={statusError ?? heartbeatError} />;
|
||||
}
|
||||
|
||||
if (!statusData || !heartbeatData) {
|
||||
|
@ -13,7 +13,7 @@ export default function Component({ service }) {
|
||||
const { data: watchData, error: watchError } = useWidgetAPI(widget, "watchtower");
|
||||
|
||||
if (watchError) {
|
||||
return <Container error={watchError} />;
|
||||
return <Container service={service} error={watchError} />;
|
||||
}
|
||||
|
||||
if (!watchData) {
|
||||
|
@ -8,7 +8,7 @@ export default function Component({ service }) {
|
||||
const { data: containersData, error: containersError } = useWidgetAPI(widget, "containers");
|
||||
|
||||
if (containersError) {
|
||||
return <Container error={containersError} />;
|
||||
return <Container service={service} error={containersError} />;
|
||||
}
|
||||
|
||||
if (!containersData) {
|
||||
|
@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: xteveData, error: xteveError } = useWidgetAPI(widget, "api");
|
||||
|
||||
if (xteveError) {
|
||||
return <Container error={xteveError} />;
|
||||
return <Container service={service} error={xteveError} />;
|
||||
}
|
||||
|
||||
if (!xteveData) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user