2022-08-25 16:29:26 +03:00
|
|
|
import Sonarr from "./widgets/service/sonarr";
|
|
|
|
import Radarr from "./widgets/service/radarr";
|
|
|
|
import Ombi from "./widgets/service/ombi";
|
|
|
|
import Portainer from "./widgets/service/portainer";
|
|
|
|
import Emby from "./widgets/service/emby";
|
|
|
|
import Nzbget from "./widgets/service/nzbget";
|
|
|
|
import Docker from "./widgets/service/docker";
|
2022-08-25 18:37:22 +03:00
|
|
|
import Pihole from "./widgets/service/pihole";
|
2022-08-25 21:31:57 +03:00
|
|
|
import Rutorrent from "./widgets/service/rutorrent";
|
2022-08-26 22:34:24 +03:00
|
|
|
import Jellyfin from "./widgets/service/jellyfin";
|
2022-08-27 03:50:49 +03:00
|
|
|
import Speedtest from "./widgets/service/speedtest";
|
2022-08-27 11:23:04 +03:00
|
|
|
import Traefik from "./widgets/service/traefik";
|
2022-08-28 11:22:43 +01:00
|
|
|
import Jellyseerr from "./widgets/service/jellyseerr";
|
2022-08-24 10:44:35 +03:00
|
|
|
|
|
|
|
const widgetMappings = {
|
2022-08-25 16:29:26 +03:00
|
|
|
docker: Docker,
|
2022-08-24 10:44:35 +03:00
|
|
|
sonarr: Sonarr,
|
|
|
|
radarr: Radarr,
|
|
|
|
ombi: Ombi,
|
|
|
|
portainer: Portainer,
|
2022-08-25 01:35:02 +03:00
|
|
|
emby: Emby,
|
2022-08-26 22:34:24 +03:00
|
|
|
jellyfin: Jellyfin,
|
2022-08-25 02:48:52 +03:00
|
|
|
nzbget: Nzbget,
|
2022-08-25 18:37:22 +03:00
|
|
|
pihole: Pihole,
|
2022-08-25 21:31:57 +03:00
|
|
|
rutorrent: Rutorrent,
|
2022-08-27 03:50:49 +03:00
|
|
|
speedtest: Speedtest,
|
2022-08-27 11:23:04 +03:00
|
|
|
traefik: Traefik,
|
2022-08-28 11:22:43 +01:00
|
|
|
jellyseerr: Jellyseerr
|
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>
|
|
|
|
);
|
|
|
|
}
|