Merge branch 'main' into Mylar

pull/935/head
Bryan 1 year ago committed by GitHub
commit 77e02e6729
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -38,7 +38,8 @@
"wlan_users": "WLAN مستخدمين",
"up": "يعمل",
"down": "لا يعمل",
"wait": "الرجاء الإنتظار"
"wait": "الرجاء الإنتظار",
"empty_data": "Subsystem status unknown"
},
"wmo": {
"73-day": "ثلج",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -48,7 +48,8 @@
"wlan": "WLAN",
"devices": "Devices",
"lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices"
"wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
},
"docker": {
"offline": "Изключен",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Dispositius",
"lan_devices": "Dispositius LAN",
"wlan_devices": "Dispositius WLAN"
"wlan_devices": "Dispositius WLAN",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Transmissions actives",
@ -445,5 +446,10 @@
"down": "Sites Down",
"uptime": "Uptime",
"incident": "Incident"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -50,7 +50,8 @@
"wlan_users": "WLAN Uživatelé",
"up": "BĚŽÍ",
"down": "NEBĚŽÍ",
"wait": "Počkejte prosím"
"wait": "Počkejte prosím",
"empty_data": "Subsystem status unknown"
},
"docker": {
"rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -175,7 +175,8 @@
"wlan_users": "WLAN Brugere",
"up": "Oppe",
"down": "NED",
"wait": "Vent venligst"
"wait": "Vent venligst",
"empty_data": "Subsystem status unknown"
},
"docker": {
"cpu": "CPU",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Geräte",
"lan_devices": "LAN-Geräte",
"wlan_devices": "WLAN Geräte"
"wlan_devices": "WLAN Geräte",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Aktive Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -51,7 +51,8 @@
"wlan_users": "WLAN Users",
"up": "UP",
"down": "DOWN",
"wait": "Please wait"
"wait": "Please wait",
"empty_data": "Subsystem status unknown"
},
"docker": {
"rx": "RX",
@ -455,6 +456,11 @@
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
},
"mylar": {
"series": "Series",
"issues": "Issues",

@ -38,7 +38,8 @@
"wlan_users": "WLAN Users",
"up": "UP",
"down": "DOWN",
"wait": "Please wait"
"wait": "Please wait",
"empty_data": "Subsystem status unknown"
},
"docker": {
"rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Dispositivos",
"lan_devices": "Dispositivos LAN",
"wlan_devices": "Dispositivos WLAN"
"wlan_devices": "Dispositivos WLAN",
"empty_data": "Se desconoce el estado del subsistema"
},
"plex": {
"streams": "Transmisiones activas",
@ -440,10 +441,15 @@
"storage": "Almacenamiento"
},
"uptimekuma": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime",
"incident": "Incident",
"up": "Páginas web activas",
"down": "Páginas web inactivas",
"uptime": "Disponibilidad",
"incident": "Incidencia",
"m": "m"
},
"komga": {
"libraries": "Librerías",
"series": "Series",
"books": "Libros"
}
}

@ -203,7 +203,8 @@
"lan_devices": "LAN Devices",
"lan": "LAN",
"wlan": "WLAN",
"wlan_devices": "WLAN Devices"
"wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Équipt.",
"lan_devices": "Équipt. LAN",
"wlan_devices": "Équipt. WLAN"
"wlan_devices": "Équipt. WLAN",
"empty_data": "Statut sous-système inconnu"
},
"plex": {
"streams": "Flux actif",
@ -440,10 +441,15 @@
"storage": "Stockage"
},
"uptimekuma": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime",
"up": "En ligne",
"down": "Hors ligne",
"uptime": "Dispo.",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Librairies",
"series": "Séries",
"books": "Livres"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Devices",
"lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices"
"wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -72,7 +72,8 @@
"wlan_users": "WLAN Users",
"up": "UP",
"down": "DOWN",
"wait": "Please wait"
"wait": "Please wait",
"empty_data": "Subsystem status unknown"
},
"docker": {
"rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Uređaji",
"lan_devices": "LAN uređaji",
"wlan_devices": "WLAN uređaji"
"wlan_devices": "WLAN uređaji",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Aktivni prijenosi",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Devices",
"lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices"
"wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Dispositivi",
"lan_devices": "Dispositivi LAN",
"wlan_devices": "Dispositivi WLAN"
"wlan_devices": "Dispositivi WLAN",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Trasmissioni attive",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -73,7 +73,8 @@
"wlan_users": "WLAN Users",
"up": "UP",
"down": "DOWN",
"wait": "Please wait"
"wait": "Please wait",
"empty_data": "Subsystem status unknown"
},
"docker": {
"rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -42,7 +42,8 @@
"wlan_users": "WLAN lietotāji",
"up": "DARBOJAS",
"down": "NEDARBOJAS",
"wait": "Lūdzu, uzgaidiet"
"wait": "Lūdzu, uzgaidiet",
"empty_data": "Subsystem status unknown"
},
"docker": {
"rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -20,7 +20,8 @@
"wlan_users": "Pengguna WLAN",
"up": "HIDUP",
"down": "MATI",
"wait": "Sila tunggu"
"wait": "Sila tunggu",
"empty_data": "Subsystem status unknown"
},
"lidarr": {
"queued": "Dibaris Gilir",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Devices",
"lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices"
"wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Apparaten",
"lan_devices": "LAN Apparaten",
"wlan_devices": "WLAN Apparaten"
"wlan_devices": "WLAN Apparaten",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Urządzenia",
"lan_devices": "Urządzenia LAN",
"wlan_devices": "Urządzenia WLAN"
"wlan_devices": "Urządzenia WLAN",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Aktywne strumienie",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Dispositivos",
"lan_devices": "Dispositivos LAN",
"wlan_devices": "Dispositivos WLAN"
"wlan_devices": "Dispositivos WLAN",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Transmissões ativas",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -216,7 +216,8 @@
"wlan": "WLAN",
"devices": "Dispositivos",
"lan_devices": "Dispositivos LAN",
"wlan_devices": "Dispositivos WLAN"
"wlan_devices": "Dispositivos WLAN",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Streams Ativas",
@ -454,5 +455,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Devices",
"lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices"
"wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Fluxuri active",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Устройства",
"lan_devices": "Устройства подключённые по LAN",
"wlan_devices": "WLAN Devices"
"wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -38,7 +38,8 @@
"wlan_users": "WLAN Users",
"up": "UP",
"down": "DOWN",
"wait": "Please wait"
"wait": "Please wait",
"empty_data": "Subsystem status unknown"
},
"docker": {
"rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Devices",
"lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices"
"wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Aktiva strömmar",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "పరికరాలు",
"lan_devices": "LAN పరికరాలు",
"wlan_devices": "WLAN పరికరాలు"
"wlan_devices": "WLAN పరికరాలు",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "యాక్టివ్ స్ట్రీమ్‌లు",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -38,7 +38,8 @@
"wlan": "WLAN",
"devices": "Aygıtlar",
"lan_devices": "LAN Aygıtları",
"wlan_devices": "WLAN Aygıtları"
"wlan_devices": "WLAN Aygıtları",
"empty_data": "Subsystem status unknown"
},
"docker": {
"rx": "Gelen Veri",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -143,7 +143,8 @@
"wlan_users": "WLAN користувачі",
"up": "Відправка",
"down": "Завантаження",
"wait": "Будь ласка, зачекайте"
"wait": "Будь ласка, зачекайте",
"empty_data": "Статус підсистеми невідомий"
},
"docker": {
"rx": "RX",
@ -440,10 +441,15 @@
"storage": "Сховище"
},
"uptimekuma": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
"up": "Активні сайти",
"down": "Неактивні сайти",
"uptime": "Час роботи",
"incident": "Інцидент",
"m": "хв"
},
"komga": {
"libraries": "Бібліотеки",
"series": "Серії",
"books": "Книжки"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Devices",
"lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices"
"wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "Devices",
"lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices"
"wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -203,7 +203,8 @@
"wlan": "无线局域网",
"devices": "设备",
"lan_devices": "局域网设备",
"wlan_devices": "无线局域网设备"
"wlan_devices": "无线局域网设备",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "活动流",
@ -445,5 +446,10 @@
"uptime": "Uptime",
"incident": "Incident",
"m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
}
}

@ -4,9 +4,9 @@
"api_error": "API錯誤",
"status": "狀態",
"information": "資訊",
"url": "URL",
"raw_error": "Raw Error",
"response_data": "Response Data"
"url": "網址",
"raw_error": "原始錯誤",
"response_data": "回復數據"
},
"weather": {
"current": "目前位置",
@ -36,9 +36,9 @@
"no_active": "無播放活動"
},
"jellyseerr": {
"pending": "待",
"approved": "已接受",
"available": "可用的"
"pending": "待下載",
"approved": "已核准",
"available": "可觀看"
},
"search": {
"placeholder": "搜尋…"
@ -82,14 +82,14 @@
"books": "書籍"
},
"ombi": {
"pending": "待",
"approved": "已接受",
"available": "可用的"
"pending": "待下載",
"approved": "已核准",
"available": "可觀看"
},
"overseerr": {
"pending": "待",
"approved": "已接受",
"available": "可用的",
"pending": "待下載",
"approved": "已核准",
"available": "可觀看",
"processing": "處理中"
},
"pihole": {
@ -203,7 +203,8 @@
"wlan": "WLAN",
"devices": "設備",
"lan_devices": "LAN設備",
"wlan_devices": "WLAN設備"
"wlan_devices": "WLAN設備",
"empty_data": "Subsystem status unknown"
},
"plex": {
"streams": "正在播放",
@ -280,8 +281,8 @@
"quicklaunch": {
"bookmark": "書籤",
"service": "服務",
"search": "Search",
"custom": "Custom"
"search": "搜尋",
"custom": "自訂"
},
"homebridge": {
"available_update": "系統",
@ -292,7 +293,7 @@
"child_bridges_status": "{{ok}}/{{total}}"
},
"autobrr": {
"approvedPushes": "接受",
"approvedPushes": "已核准",
"rejectedPushes": "拒絕",
"filters": "篩選器",
"indexers": "索引器"
@ -424,26 +425,31 @@
"job_completion": "完成度"
},
"cloudflared": {
"origin_ip": "Origin IP",
"status": "Status"
"origin_ip": "源頭IP",
"status": "狀態"
},
"proxmoxbackupserver": {
"datastore_usage": "Datastore",
"failed_tasks_24h": "Failed Tasks 24h",
"datastore_usage": "數據存儲",
"failed_tasks_24h": "24小時內失敗任務",
"cpu_usage": "CPU",
"memory_usage": "Memory"
"memory_usage": "記憶體"
},
"immich": {
"users": "Users",
"photos": "Photos",
"videos": "Videos",
"storage": "Storage"
"users": "使用者",
"photos": "照片",
"videos": "影片",
"storage": "儲存空間"
},
"uptimekuma": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime",
"incident": "Incident",
"up": "在線網站",
"down": "離線網站",
"uptime": "在線時間",
"incident": "事件",
"m": "m"
},
"komga": {
"libraries": "文庫",
"series": "叢刊",
"books": "書刊"
}
}

@ -20,7 +20,6 @@ export default function Widget({ options }) {
<BiError className="w-8 h-8 text-theme-800 dark:text-theme-200" />
<div className="flex flex-col ml-3 text-left">
<span className="text-theme-800 dark:text-theme-200 text-sm">{t("widget.api_error")}</span>
<span className="text-theme-800 dark:text-theme-200 text-xs">-</span>
</div>
</div>
</div>
@ -28,7 +27,7 @@ export default function Widget({ options }) {
);
}
const defaultSite = statsData?.data?.find(s => s.name === "default");
const defaultSite = options.site ? statsData?.data.find(s => s.desc === options.site) : statsData?.data?.find(s => s.name === "default");
if (!defaultSite) {
return (
@ -55,6 +54,8 @@ export default function Widget({ options }) {
const name = wan.gw_name ?? defaultSite.desc;
const uptime = wan["gw_system-stats"] ? wan["gw_system-stats"].uptime : null;
const dataEmpty = !(wan.show || lan.show || wlan.show || uptime);
return (
<div className="flex-none flex flex-row items-center mr-3 py-1.5">
<div className="flex flex-col">
@ -64,6 +65,14 @@ export default function Widget({ options }) {
{name}
</div>
</div>
{dataEmpty && <div className="flex flex-row ml-3 text-[8px] justify-between">
<div className="flex flex-row items-center justify-end">
<div className="flex flex-row">
<BiError className="w-4 h-4 text-theme-800 dark:text-theme-200" />
<span className="text-theme-800 dark:text-theme-200 text-xs">{t("unifi.empty_data")}</span>
</div>
</div>
</div>}
<div className="flex flex-row ml-3 text-[10px] justify-between">
{uptime && <div className="flex flex-row" title={t("unifi.uptime")}>
<div className="pr-0.5 text-theme-800 dark:text-theme-200">

@ -233,6 +233,7 @@ export function cleanServiceGroups(groups) {
currency, // coinmarketcap widget
symbols,
defaultinterval,
site, // unifi widget
namespace, // kubernetes widget
app,
podSelector,
@ -256,6 +257,9 @@ export function cleanServiceGroups(groups) {
if (server) cleanedService.widget.server = server;
if (container) cleanedService.widget.container = container;
}
if (type === "unifi") {
if (site) cleanedService.widget.site = site;
}
if (type === "kubernetes") {
if (namespace) cleanedService.widget.namespace = namespace;
if (app) cleanedService.widget.app = app;

@ -21,6 +21,7 @@ const components = {
jackett: dynamic(() => import("./jackett/component")),
jellyfin: dynamic(() => import("./emby/component")),
jellyseerr: dynamic(() => import("./jellyseerr/component")),
komga: dynamic(() => import("./komga/component")),
lidarr: dynamic(() => import("./lidarr/component")),
mastodon: dynamic(() => import("./mastodon/component")),
medusa: dynamic(() => import("./medusa/component")),

@ -0,0 +1,37 @@
import { useTranslation } from "next-i18next";
import Container from "components/services/widget/container";
import Block from "components/services/widget/block";
import useWidgetAPI from "utils/proxy/use-widget-api";
export default function Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
const { data: libraryData, error: libraryError } = useWidgetAPI(widget, "libraries");
const { data: seriesData, error: seriesError } = useWidgetAPI(widget, "series");
const { data: bookData, error: bookError } = useWidgetAPI(widget, "books");
if (libraryError || seriesError || bookError) {
const finalError = libraryError ?? seriesError ?? bookError;
return <Container error={finalError} />;
}
if (!libraryData || !seriesData || !bookData) {
return (
<Container service={service}>
<Block label="komga.libraries" />
<Block label="komga.series" />
<Block label="komga.books" />
</Container>
);
}
return (
<Container service={service}>
<Block label="komga.libraries" value={t("common.number", { value: libraryData.total })} />
<Block label="komga.series" value={t("common.number", { value: seriesData.totalElements })} />
<Block label="komga.books" value={t("common.number", { value: bookData.totalElements })} />
</Container>
);
}

@ -0,0 +1,30 @@
import genericProxyHandler from "utils/proxy/handlers/generic";
import { jsonArrayFilter } from "utils/proxy/api-helpers";
const widget = {
api: "{url}/api/v1/{endpoint}",
proxyHandler: genericProxyHandler,
mappings: {
libraries: {
endpoint: "libraries",
map: (data) => ({
total: jsonArrayFilter(data, (item) => !item.unavailable).length,
}),
},
series: {
endpoint: "series",
validate: [
"totalElements"
]
},
books: {
endpoint: "books",
validate: [
"totalElements"
]
},
},
};
export default widget;

@ -22,7 +22,7 @@ export default function Component({ service }) {
return (
<Container service={service}>
<Block label="proxmoxbackupserver.datastore_usage" />
<Block label="proxmoxbackupserver.failed_tasks" />
<Block label="proxmoxbackupserver.failed_tasks_24h" />
<Block label="proxmoxbackupserver.cpu_usage" />
<Block label="proxmoxbackupserver.memory_usage" />
</Container>

@ -15,7 +15,7 @@ export default function Component({ service }) {
return <Container error={statsError} />;
}
const defaultSite = statsData?.data?.find(s => s.name === "default");
const defaultSite = widget.site ? statsData?.data.find(s => s.desc === widget.site) : statsData?.data?.find(s => s.name === "default");
if (!defaultSite) {
return (
@ -38,6 +38,14 @@ export default function Component({ service }) {
const uptime = wan["gw_system-stats"] ? `${t("common.number", { value: wan["gw_system-stats"].uptime / 86400, maximumFractionDigits: 1 })} ${t("unifi.days")}` : null;
if (!(wan.show || lan.show || wlan.show || uptime)) {
return (
<Container service={service}>
<Block value={ t("unifi.empty_data") } />
</Container>
)
}
return (
<Container service={service}>
{uptime && <Block label="unifi.uptime" value={ uptime } />}

@ -15,6 +15,7 @@ import hdhomerun from "./hdhomerun/widget";
import homebridge from "./homebridge/widget";
import jackett from "./jackett/widget";
import jellyseerr from "./jellyseerr/widget";
import komga from "./komga/widget";
import lidarr from "./lidarr/widget";
import mastodon from "./mastodon/widget";
import medusa from "./medusa/widget";
@ -80,6 +81,7 @@ const widgets = {
jackett,
jellyfin: emby,
jellyseerr,
komga,
lidarr,
mastodon,
medusa,

Loading…
Cancel
Save