Enhancement: multiple widgets per service (#4338)

This commit is contained in:
shamoon 2024-11-27 02:33:40 -08:00
parent 385511f773
commit 907abee1aa
No known key found for this signature in database
46 changed files with 210 additions and 169 deletions

View file

@ -3,22 +3,24 @@ import { useTranslation } from "next-i18next";
import ErrorBoundary from "components/errorboundry";
import components from "widgets/components";
export default function Widget({ service }) {
export default function Widget({ widget, service }) {
const { t } = useTranslation("common");
const ServiceWidget = components[service.widget.type];
const ServiceWidget = components[widget.type];
const fullService = Object.apply({}, service);
fullService.widget = widget;
if (ServiceWidget) {
return (
<ErrorBoundary>
<ServiceWidget service={service} />
<ServiceWidget service={fullService} />
</ErrorBoundary>
);
}
return (
<div className="bg-theme-200/50 dark:bg-theme-900/20 rounded m-1 flex-1 flex flex-col items-center justify-center p-1 service-missing">
<div className="font-thin text-sm">{t("widget.missing_type", { type: service.widget.type })}</div>
<div className="font-thin text-sm">{t("widget.missing_type", { type: widget.type })}</div>
</div>
);
}