Merge pull request #1579 from denispapec/portainer-fix

Fixes for portainer and kubernetes and error component
pull/1596/head
shamoon 2 years ago committed by GitHub
commit 2fabaa700b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,10 +9,12 @@ 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: err }) { export default function Error({ error }) {
const { t } = useTranslation(); const { t } = useTranslation();
const { error } = err?.data ?? { error: err }; if (error?.data?.error) {
error = error.data.error; // eslint-disable-line no-param-reassign
}
return ( return (
<details className="px-1 pb-1"> <details className="px-1 pb-1">

@ -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 service={service} error={t("widget.api_error")} />; return <Container service={service} error={statsError ?? statusError} />;
} }
if (statusData && statusData.status !== "running") { if (statusData && statusData.status !== "running") {

@ -1,12 +1,8 @@
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 useWidgetAPI from "utils/proxy/use-widget-api"; import useWidgetAPI from "utils/proxy/use-widget-api";
export default function Component({ service }) { export default function Component({ service }) {
const { t } = useTranslation();
const { widget } = service; const { widget } = service;
const { data: containersData, error: containersError } = useWidgetAPI(widget, "docker/containers/json", { const { data: containersData, error: containersError } = useWidgetAPI(widget, "docker/containers/json", {
@ -27,8 +23,9 @@ export default function Component({ service }) {
); );
} }
if (containersData.error) { if (containersData.error || containersData.message) {
return <Container service={service} error={t("widget.api_error")} />; // containersData can be itself an error object e.g. if environment fails
return <Container service={service} error={ containersData?.error ?? containersData } />;
} }
const running = containersData.filter((c) => c.State === "running").length; const running = containersData.filter((c) => c.State === "running").length;

Loading…
Cancel
Save