2022-09-08 11:48:16 +03:00
|
|
|
import { useTranslation } from "react-i18next";
|
|
|
|
|
2022-08-25 16:29:26 +03:00
|
|
|
import Sonarr from "./widgets/service/sonarr";
|
|
|
|
import Radarr from "./widgets/service/radarr";
|
2022-09-14 19:30:51 -07:00
|
|
|
import Lidarr from "./widgets/service/lidarr";
|
2022-09-11 19:49:18 -07:00
|
|
|
import Readarr from "./widgets/service/readarr";
|
2022-09-14 16:15:26 -07:00
|
|
|
import Bazarr from "./widgets/service/bazarr";
|
2022-08-25 16:29:26 +03:00
|
|
|
import Ombi from "./widgets/service/ombi";
|
|
|
|
import Portainer from "./widgets/service/portainer";
|
|
|
|
import Emby from "./widgets/service/emby";
|
|
|
|
import Nzbget from "./widgets/service/nzbget";
|
2022-09-11 19:49:18 -07:00
|
|
|
import SABnzbd from "./widgets/service/sabnzbd";
|
2022-09-12 19:35:47 -07:00
|
|
|
import Transmission from "./widgets/service/transmission";
|
2022-08-25 16:29:26 +03:00
|
|
|
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-09-11 17:24:33 +03:00
|
|
|
import Overseerr from "./widgets/service/overseerr";
|
2022-09-02 12:13:15 +02:00
|
|
|
import Npm from "./widgets/service/npm";
|
2022-09-03 15:36:59 +03:00
|
|
|
import Tautulli from "./widgets/service/tautulli";
|
2022-09-12 01:30:42 -05:00
|
|
|
import CoinMarketCap from "./widgets/service/coinmarketcap";
|
2022-09-11 04:11:02 +01:00
|
|
|
import Gotify from "./widgets/service/gotify";
|
2022-09-12 17:56:04 +01:00
|
|
|
import Prowlarr from "./widgets/service/prowlarr";
|
2022-09-14 10:46:52 -07:00
|
|
|
import Jackett from "./widgets/service/jackett";
|
2022-09-16 14:05:56 +03:00
|
|
|
import AdGuard from "./widgets/service/adguard";
|
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,
|
2022-09-14 19:30:51 -07:00
|
|
|
lidarr: Lidarr,
|
2022-09-11 19:49:18 -07:00
|
|
|
readarr: Readarr,
|
2022-09-14 16:15:26 -07:00
|
|
|
bazarr: Bazarr,
|
2022-08-24 10:44:35 +03:00
|
|
|
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-09-12 19:35:47 -07:00
|
|
|
sabnzbd: SABnzbd,
|
|
|
|
transmission: Transmission,
|
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-09-02 12:13:15 +02:00
|
|
|
jellyseerr: Jellyseerr,
|
2022-09-11 17:24:33 +03:00
|
|
|
overseerr: Overseerr,
|
2022-09-12 01:30:42 -05:00
|
|
|
coinmarketcap: CoinMarketCap,
|
2022-09-02 12:13:15 +02:00
|
|
|
npm: Npm,
|
2022-09-03 15:36:59 +03:00
|
|
|
tautulli: Tautulli,
|
2022-09-11 04:11:02 +01:00
|
|
|
gotify: Gotify,
|
2022-09-14 10:46:52 -07:00
|
|
|
prowlarr: Prowlarr,
|
2022-09-14 10:50:53 -07:00
|
|
|
jackett: Jackett,
|
2022-09-16 14:05:56 +03:00
|
|
|
adguard: AdGuard,
|
2022-08-24 10:44:35 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
export default function Widget({ service }) {
|
2022-09-08 11:48:16 +03:00
|
|
|
const { t } = useTranslation("common");
|
|
|
|
|
2022-08-24 10:44:35 +03:00
|
|
|
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">
|
2022-09-08 11:48:16 +03:00
|
|
|
<div className="font-thin text-sm">{t("widget.missing_type", { type: service.widget.type })}</div>
|
2022-08-24 10:44:35 +03:00
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|