More consistent with other implementations

This commit is contained in:
shamoon
2024-06-22 13:03:35 -07:00
parent 4dde54a631
commit 6db097ed85
11 changed files with 23 additions and 72 deletions

View File

@@ -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 (
<div>
{children}
<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-[16px] overflow-clip" />}
{error && !hideErrors && <Error />}
</div>
);
}

View File

@@ -1,17 +1,7 @@
import { useTranslation } from "next-i18next";
import { useContext } from "react";
import { SettingsContext } from "utils/contexts/settings";
export default function Error({ service, error }) {
export default function Error() {
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>;
}

View File

@@ -4,7 +4,6 @@ import { useTranslation } from "next-i18next";
import Container from "../components/container";
import Block from "../components/block";
import Error from "../components/error";
import useWidgetAPI from "utils/proxy/use-widget-api";
@@ -39,11 +38,7 @@ export default function Component({ service }) {
}, [data, pointsLimit]);
if (error) {
return (
<Container chart={chart}>
<Error error={error} service={service} />
</Container>
);
return <Container error={error} widget={widget} />;
}
if (!data) {

View File

@@ -2,7 +2,6 @@ import dynamic from "next/dynamic";
import { useState, useEffect } from "react";
import { useTranslation } from "next-i18next";
import Error from "../components/error";
import Container from "../components/container";
import Block from "../components/block";
@@ -54,11 +53,7 @@ export default function Component({ service }) {
if (error || (data && data.error)) {
const finalError = error || data.error;
return (
<Container chart={chart}>
<Error error={finalError} service={service} />
</Container>
);
return <Container error={finalError} widget={widget} />;
}
if (!data) {

View File

@@ -1,6 +1,5 @@
import { useTranslation } from "next-i18next";
import Error from "../components/error";
import Container from "../components/container";
import Block from "../components/block";
@@ -20,11 +19,7 @@ export default function Component({ service }) {
});
if (error) {
return (
<Container chart={chart}>
<Error error={error} service={service} />
</Container>
);
return <Container error={error} widget={widget} />;
}
if (!data) {

View File

@@ -2,7 +2,6 @@ import dynamic from "next/dynamic";
import { useState, useEffect } from "react";
import { useTranslation } from "next-i18next";
import Error from "../components/error";
import Container from "../components/container";
import Block from "../components/block";
@@ -44,11 +43,7 @@ export default function Component({ service }) {
if (error || (data && data.error)) {
const finalError = error || data.error;
return (
<Container chart={chart}>
<Error error={finalError} service={service} />
</Container>
);
return <Container error={finalError} widget={widget} />;
}
if (!data) {

View File

@@ -1,6 +1,5 @@
import { useTranslation } from "next-i18next";
import Error from "../components/error";
import Container from "../components/container";
import Block from "../components/block";
@@ -86,19 +85,11 @@ export default function Component({ service }) {
if (quicklookError || (quicklookData && quicklookData.error)) {
const qlError = quicklookError || quicklookData.error;
return (
<Container chart={chart}>
<Error error={qlError} service={service} />
</Container>
);
return <Container error={qlError} widget={widget} />;
}
if (systemError) {
return (
<Container chart={chart}>
<Error error={systemError} service={service} />
</Container>
);
return <Container error={systemError} service={service} />;
}
const dataCharts = [];

View File

@@ -2,7 +2,6 @@ import dynamic from "next/dynamic";
import { useState, useEffect } from "react";
import { useTranslation } from "next-i18next";
import Error from "../components/error";
import Container from "../components/container";
import Block from "../components/block";
@@ -38,11 +37,7 @@ export default function Component({ service }) {
}, [data, pointsLimit]);
if (error) {
return (
<Container chart={chart}>
<Error error={error} service={service} />
</Container>
);
return <Container error={error} widget={widget} />;
}
if (!data) {

View File

@@ -2,7 +2,6 @@ import dynamic from "next/dynamic";
import { useState, useEffect } from "react";
import { useTranslation } from "next-i18next";
import Error from "../components/error";
import Container from "../components/container";
import Block from "../components/block";
@@ -54,11 +53,7 @@ export default function Component({ service }) {
if (error || (data && data.error)) {
const finalError = error || data.error;
return (
<Container chart={chart}>
<Error error={finalError} service={service} />
</Container>
);
return <Container error={finalError} widget={widget} />;
}
if (!data) {

View File

@@ -1,6 +1,5 @@
import { useTranslation } from "next-i18next";
import Error from "../components/error";
import Container from "../components/container";
import Block from "../components/block";
@@ -31,11 +30,7 @@ export default function Component({ service }) {
});
if (error) {
return (
<Container chart={chart}>
<Error error={error} />
</Container>
);
return <Container service={service} widget={widget} />;
}
if (!data) {

View File

@@ -2,7 +2,6 @@ import dynamic from "next/dynamic";
import { useState, useEffect } from "react";
import { useTranslation } from "next-i18next";
import Error from "../components/error";
import Container from "../components/container";
import Block from "../components/block";
@@ -40,11 +39,7 @@ export default function Component({ service }) {
if (error || (data && data.error)) {
const finalError = error || data.error;
return (
<Container chart={chart}>
<Error error={finalError} service={service} />
</Container>
);
return <Container error={finalError} widget={widget} />;
}
if (!data) {