More consistent with other implementations
This commit is contained in:
parent
4dde54a631
commit
6db097ed85
@ -1,10 +1,20 @@
|
|||||||
export default function Container({ children, chart = true, className = "" }) {
|
import { useContext } from "react";
|
||||||
|
|
||||||
|
import Error from "./error";
|
||||||
|
|
||||||
|
import { SettingsContext } from "utils/contexts/settings";
|
||||||
|
|
||||||
|
export default function Container({ children, widget, error = null, chart = true, className = "" }) {
|
||||||
|
const { settings } = useContext(SettingsContext);
|
||||||
|
const hideErrors = settings.hideErrors || widget?.hideErrors;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
{children}
|
{children}
|
||||||
<div className={`absolute top-0 right-0 bottom-0 left-0 overflow-clip pointer-events-none ${className}`} />
|
<div className={`absolute top-0 right-0 bottom-0 left-0 overflow-clip pointer-events-none ${className}`} />
|
||||||
{chart && <div className="h-[68px] overflow-clip" />}
|
{chart && <div className="h-[68px] overflow-clip" />}
|
||||||
{!chart && <div className="h-[16px] overflow-clip" />}
|
{!chart && <div className="h-[16px] overflow-clip" />}
|
||||||
|
{error && !hideErrors && <Error />}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,7 @@
|
|||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
import { useContext } from "react";
|
|
||||||
|
|
||||||
import { SettingsContext } from "utils/contexts/settings";
|
export default function Error() {
|
||||||
|
|
||||||
export default function Error({ service, error }) {
|
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const { settings } = useContext(SettingsContext);
|
|
||||||
|
|
||||||
if (error) {
|
|
||||||
if (settings.hideErrors || service?.widget.hide_errors) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return <div className="absolute bottom-2 left-2 z-20 text-red-400 text-xs opacity-75">{t("widget.api_error")}</div>;
|
return <div className="absolute bottom-2 left-2 z-20 text-red-400 text-xs opacity-75">{t("widget.api_error")}</div>;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import { useTranslation } from "next-i18next";
|
|||||||
|
|
||||||
import Container from "../components/container";
|
import Container from "../components/container";
|
||||||
import Block from "../components/block";
|
import Block from "../components/block";
|
||||||
import Error from "../components/error";
|
|
||||||
|
|
||||||
import useWidgetAPI from "utils/proxy/use-widget-api";
|
import useWidgetAPI from "utils/proxy/use-widget-api";
|
||||||
|
|
||||||
@ -39,11 +38,7 @@ export default function Component({ service }) {
|
|||||||
}, [data, pointsLimit]);
|
}, [data, pointsLimit]);
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
return (
|
return <Container error={error} widget={widget} />;
|
||||||
<Container chart={chart}>
|
|
||||||
<Error error={error} service={service} />
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import dynamic from "next/dynamic";
|
|||||||
import { useState, useEffect } from "react";
|
import { useState, useEffect } from "react";
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Error from "../components/error";
|
|
||||||
import Container from "../components/container";
|
import Container from "../components/container";
|
||||||
import Block from "../components/block";
|
import Block from "../components/block";
|
||||||
|
|
||||||
@ -54,11 +53,7 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
if (error || (data && data.error)) {
|
if (error || (data && data.error)) {
|
||||||
const finalError = error || data.error;
|
const finalError = error || data.error;
|
||||||
return (
|
return <Container error={finalError} widget={widget} />;
|
||||||
<Container chart={chart}>
|
|
||||||
<Error error={finalError} service={service} />
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Error from "../components/error";
|
|
||||||
import Container from "../components/container";
|
import Container from "../components/container";
|
||||||
import Block from "../components/block";
|
import Block from "../components/block";
|
||||||
|
|
||||||
@ -20,11 +19,7 @@ export default function Component({ service }) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
return (
|
return <Container error={error} widget={widget} />;
|
||||||
<Container chart={chart}>
|
|
||||||
<Error error={error} service={service} />
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import dynamic from "next/dynamic";
|
|||||||
import { useState, useEffect } from "react";
|
import { useState, useEffect } from "react";
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Error from "../components/error";
|
|
||||||
import Container from "../components/container";
|
import Container from "../components/container";
|
||||||
import Block from "../components/block";
|
import Block from "../components/block";
|
||||||
|
|
||||||
@ -44,11 +43,7 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
if (error || (data && data.error)) {
|
if (error || (data && data.error)) {
|
||||||
const finalError = error || data.error;
|
const finalError = error || data.error;
|
||||||
return (
|
return <Container error={finalError} widget={widget} />;
|
||||||
<Container chart={chart}>
|
|
||||||
<Error error={finalError} service={service} />
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Error from "../components/error";
|
|
||||||
import Container from "../components/container";
|
import Container from "../components/container";
|
||||||
import Block from "../components/block";
|
import Block from "../components/block";
|
||||||
|
|
||||||
@ -86,19 +85,11 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
if (quicklookError || (quicklookData && quicklookData.error)) {
|
if (quicklookError || (quicklookData && quicklookData.error)) {
|
||||||
const qlError = quicklookError || quicklookData.error;
|
const qlError = quicklookError || quicklookData.error;
|
||||||
return (
|
return <Container error={qlError} widget={widget} />;
|
||||||
<Container chart={chart}>
|
|
||||||
<Error error={qlError} service={service} />
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (systemError) {
|
if (systemError) {
|
||||||
return (
|
return <Container error={systemError} service={service} />;
|
||||||
<Container chart={chart}>
|
|
||||||
<Error error={systemError} service={service} />
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const dataCharts = [];
|
const dataCharts = [];
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import dynamic from "next/dynamic";
|
|||||||
import { useState, useEffect } from "react";
|
import { useState, useEffect } from "react";
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Error from "../components/error";
|
|
||||||
import Container from "../components/container";
|
import Container from "../components/container";
|
||||||
import Block from "../components/block";
|
import Block from "../components/block";
|
||||||
|
|
||||||
@ -38,11 +37,7 @@ export default function Component({ service }) {
|
|||||||
}, [data, pointsLimit]);
|
}, [data, pointsLimit]);
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
return (
|
return <Container error={error} widget={widget} />;
|
||||||
<Container chart={chart}>
|
|
||||||
<Error error={error} service={service} />
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import dynamic from "next/dynamic";
|
|||||||
import { useState, useEffect } from "react";
|
import { useState, useEffect } from "react";
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Error from "../components/error";
|
|
||||||
import Container from "../components/container";
|
import Container from "../components/container";
|
||||||
import Block from "../components/block";
|
import Block from "../components/block";
|
||||||
|
|
||||||
@ -54,11 +53,7 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
if (error || (data && data.error)) {
|
if (error || (data && data.error)) {
|
||||||
const finalError = error || data.error;
|
const finalError = error || data.error;
|
||||||
return (
|
return <Container error={finalError} widget={widget} />;
|
||||||
<Container chart={chart}>
|
|
||||||
<Error error={finalError} service={service} />
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Error from "../components/error";
|
|
||||||
import Container from "../components/container";
|
import Container from "../components/container";
|
||||||
import Block from "../components/block";
|
import Block from "../components/block";
|
||||||
|
|
||||||
@ -31,11 +30,7 @@ export default function Component({ service }) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
return (
|
return <Container service={service} widget={widget} />;
|
||||||
<Container chart={chart}>
|
|
||||||
<Error error={error} />
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import dynamic from "next/dynamic";
|
|||||||
import { useState, useEffect } from "react";
|
import { useState, useEffect } from "react";
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Error from "../components/error";
|
|
||||||
import Container from "../components/container";
|
import Container from "../components/container";
|
||||||
import Block from "../components/block";
|
import Block from "../components/block";
|
||||||
|
|
||||||
@ -40,11 +39,7 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
if (error || (data && data.error)) {
|
if (error || (data && data.error)) {
|
||||||
const finalError = error || data.error;
|
const finalError = error || data.error;
|
||||||
return (
|
return <Container error={finalError} widget={widget} />;
|
||||||
<Container chart={chart}>
|
|
||||||
<Error error={finalError} service={service} />
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user