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