32 lines
828 B
React
Raw Normal View History

2022-08-24 10:44:35 +03:00
import Sonarr from "./widgets/sonarr";
import Radarr from "./widgets/radarr";
import Ombi from "./widgets/ombi";
import Portainer from "./widgets/portainer";
2022-08-25 01:35:02 +03:00
import Emby from "./widgets/emby";
2022-08-25 02:48:52 +03:00
import Nzbget from "./widgets/nzbget";
2022-08-24 10:44:35 +03:00
const widgetMappings = {
sonarr: Sonarr,
radarr: Radarr,
ombi: Ombi,
portainer: Portainer,
2022-08-25 01:35:02 +03:00
emby: Emby,
2022-08-25 02:48:52 +03:00
nzbget: Nzbget,
2022-08-24 10:44:35 +03:00
};
export default function Widget({ service }) {
const ServiceWidget = widgetMappings[service.widget.type];
if (ServiceWidget) {
return <ServiceWidget service={service} />;
}
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">
<div className="font-thin text-sm">
Missing Widget Type: <strong>{service.widget.type}</strong>
</div>
</div>
);
}