Compare commits

..

13 Commits

Author SHA1 Message Date
ShlomiPorush
b5065673ab Translated using Weblate (Hebrew)
Currently translated at 93.5% (101 of 108 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2022-09-18 15:13:10 +02:00
Pacux
610b0f63e0 Translated using Weblate (Catalan)
Currently translated at 100.0% (108 of 108 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2022-09-18 15:13:09 +02:00
yahoo~~
73317bda67 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (108 of 108 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2022-09-18 15:13:09 +02:00
Nonoss117
f690f3acba Translated using Weblate (French)
Currently translated at 100.0% (108 of 108 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2022-09-18 15:13:09 +02:00
Anonymous
eea9f1f6cb Translated using Weblate (Hebrew)
Currently translated at 100.0% (0 of 0 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2022-09-18 08:37:27 +02:00
Daniel Varga
d9089e8d1c Translated using Weblate (Hungarian)
Currently translated at 100.0% (108 of 108 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2022-09-18 08:37:26 +02:00
Nonoss117
bed5acc9d5 Translated using Weblate (French)
Currently translated at 100.0% (108 of 108 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2022-09-18 08:37:25 +02:00
Ángel Fernández Sánchez
f46feff445 Translated using Weblate (Spanish)
Currently translated at 100.0% (108 of 108 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2022-09-18 08:37:25 +02:00
Daniel Varga
d46a98c7d5 Translated using Weblate (German)
Currently translated at 62.0% (67 of 108 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2022-09-18 08:37:25 +02:00
ShlomiPorush
05af60df4f Added translation using Weblate (Hebrew) 2022-09-18 08:37:17 +02:00
Ben Phelps
5fc266ed81 better status icon logic for tautulli 2022-09-18 02:12:24 +03:00
Ben Phelps
38356c31b0 handle when structure differs from expectation 2022-09-18 01:38:41 +03:00
Ben Phelps
2703cfb81e update attributions and features 2022-09-17 22:03:21 +03:00
10 changed files with 326 additions and 150 deletions

View File

@@ -17,7 +17,7 @@
- Automatic service discovery (via labels) - Automatic service discovery (via labels)
- Service Integration - Service Integration
- Sonarr, Radarr, Readarr, Prowlarr, Bazarr, Lidarr, Emby, Jellyfin, Tautulli (Plex) - Sonarr, Radarr, Readarr, Prowlarr, Bazarr, Lidarr, Emby, Jellyfin, Tautulli (Plex)
- Ombi, Overseerr, Jellyseerr, Jackett, NZBGet, SABnzbd, ruTorrent, Transmission - Ombi, Overseerr, Jellyseerr, Jackett, NZBGet, SABnzbd, ruTorrent, Transmission, qBittorrent
- Portainer, Traefik, Speedtest Tracker, PiHole, AdGuard Home, Nginx Proxy Manager, Gotify - Portainer, Traefik, Speedtest Tracker, PiHole, AdGuard Home, Nginx Proxy Manager, Gotify
- Information Providers - Information Providers
- Coin Market Cap - Coin Market Cap
@@ -127,7 +127,7 @@ Huge thanks to the all the contributors who have helped make this project what i
- [ilusi0n](https://github.com/benphelps/homepage/commits?author=ilusi0n) - Jellyseerr Integration - [ilusi0n](https://github.com/benphelps/homepage/commits?author=ilusi0n) - Jellyseerr Integration
- [ItsJustMeChris](https://github.com/benphelps/homepage/commits?author=ItsJustMeChris) - Coin Market Cap Widget - [ItsJustMeChris](https://github.com/benphelps/homepage/commits?author=ItsJustMeChris) - Coin Market Cap Widget
- [jackblk](https://github.com/benphelps/homepage/commits?author=jackblk) - Vietnamese Translation - [jackblk](https://github.com/benphelps/homepage/commits?author=jackblk) - Vietnamese Translation
- [JazzFisch](https://github.com/benphelps/homepage/commits?author=JazzFisch) - Readarr, Bazarr, Lidarr, SABnzbd & Transmission Integrations - [JazzFisch](https://github.com/benphelps/homepage/commits?author=JazzFisch) - Readarr, Bazarr, Lidarr, SABnzbd, Transmission & qBittorrent Integrations
- [juanmanuelbc](https://github.com/benphelps/homepage/commits?author=juanmanuelbc) - Spanish and Catalan Translations - [juanmanuelbc](https://github.com/benphelps/homepage/commits?author=juanmanuelbc) - Spanish and Catalan Translations
- [modem7](https://github.com/benphelps/homepage/commits?author=modem7) - Impvoed Docker Image - [modem7](https://github.com/benphelps/homepage/commits?author=modem7) - Impvoed Docker Image
- [nicedc](https://github.com/benphelps/homepage/commits?author=nicedc) - Chinese Translation - [nicedc](https://github.com/benphelps/homepage/commits?author=nicedc) - Chinese Translation
@@ -138,3 +138,4 @@ Huge thanks to the all the contributors who have helped make this project what i
- [schklom](https://github.com/benphelps/homepage/commits?author=schklom) - ARM64, ARMv7 and ARMv6 - [schklom](https://github.com/benphelps/homepage/commits?author=schklom) - ARM64, ARMv7 and ARMv6
- [SuperDOS](https://github.com/benphelps/homepage/commits?author=SuperDOS) - Swedish Translation - [SuperDOS](https://github.com/benphelps/homepage/commits?author=SuperDOS) - Swedish Translation
- [xicopitz](https://github.com/benphelps/homepage/commits?author=xicopitz) - Gotify & Prowlarr Integration - [xicopitz](https://github.com/benphelps/homepage/commits?author=xicopitz) - Gotify & Prowlarr Integration
- [andrii-kryvoviaz](https://github.com/benphelps/homepage/commits?author=andrii-kryvoviaz) - Background opacity option

View File

@@ -97,7 +97,7 @@
"pihole": { "pihole": {
"queries": "Consultes", "queries": "Consultes",
"blocked": "Bloquejat", "blocked": "Bloquejat",
"gravity": "Gravetat" "gravity": "Gravity"
}, },
"portainer": { "portainer": {
"running": "Executant", "running": "Executant",
@@ -147,14 +147,14 @@
"albums": "Àlbums" "albums": "Àlbums"
}, },
"adguard": { "adguard": {
"queries": "Queries", "queries": "Consultes",
"blocked": "Blocked", "blocked": "Bloquejat",
"filtered": "Filtered", "filtered": "Filtrat",
"latency": "Latency" "latency": "Latència"
}, },
"qbittorrent": { "qbittorrent": {
"download": "Download", "download": "Descàrrega",
"upload": "Upload", "upload": "Càrrega",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
} }

View File

@@ -11,7 +11,7 @@
"total": "Gesamt", "total": "Gesamt",
"free": "Frei", "free": "Frei",
"used": "Gebraucht", "used": "Gebraucht",
"load": "Load" "load": "Belastung"
}, },
"docker": { "docker": {
"rx": "Rx", "rx": "Rx",
@@ -24,13 +24,13 @@
"playing": "Spielen", "playing": "Spielen",
"transcoding": "Transcodierung", "transcoding": "Transcodierung",
"bitrate": "Bitrate", "bitrate": "Bitrate",
"no_active": "No Active Streams" "no_active": "Keine aktiven streamen"
}, },
"tautulli": { "tautulli": {
"playing": "Spielen", "playing": "Spielen",
"transcoding": "Transcodierung", "transcoding": "Transcodierung",
"bitrate": "Bitrate", "bitrate": "Bitrate",
"no_active": "No Active Streams" "no_active": "Keine aktiven streamen"
}, },
"rutorrent": { "rutorrent": {
"active": "Aktiv", "active": "Aktiv",

View File

@@ -153,9 +153,9 @@
"latency": "Latencia" "latency": "Latencia"
}, },
"qbittorrent": { "qbittorrent": {
"download": "Download", "download": "Descarga",
"upload": "Upload", "upload": "Subida",
"leech": "Leech", "leech": "Compañeros",
"seed": "Seed" "seed": "Semillas"
} }
} }

View File

@@ -34,8 +34,8 @@
}, },
"rutorrent": { "rutorrent": {
"active": "Actif", "active": "Actif",
"upload": "Téléverser", "upload": "Envoi",
"download": "Télécharger" "download": "Réception"
}, },
"sonarr": { "sonarr": {
"wanted": "Demandé", "wanted": "Demandé",
@@ -68,8 +68,8 @@
"gravity": "Listes dom. bloqués" "gravity": "Listes dom. bloqués"
}, },
"speedtest": { "speedtest": {
"upload": "Téléversement", "upload": "Envoi",
"download": "Téléchargement", "download": "Récept.",
"ping": "Ping" "ping": "Ping"
}, },
"portainer": { "portainer": {
@@ -164,8 +164,8 @@
"latency": "Latence" "latency": "Latence"
}, },
"qbittorrent": { "qbittorrent": {
"download": "Download", "download": "Réception",
"upload": "Upload", "upload": "Envoi",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
} }

View File

@@ -0,0 +1,161 @@
{
"widget": {
"missing_type": "סוג ווידג'ט חסר: {{type}}",
"api_error": "שגיאת API",
"status": "סטטוס"
},
"weather": {
"current": "מיקום נוכחי",
"allow": "יש ללחוץ כדי לאשר",
"updating": "מעדכן",
"wait": "המתן בבקשה"
},
"search": {
"placeholder": "חיפוש…"
},
"resources": {
"total": "סה\"כ",
"free": "פנוי",
"used": "בשימוש",
"load": "עומס"
},
"docker": {
"rx": "RX",
"tx": "TX",
"mem": "זיכרון",
"cpu": "מעבד",
"offline": "כבוי"
},
"emby": {
"playing": "מנגן",
"transcoding": "מקודד",
"bitrate": "סיביות",
"no_active": "אין הזרמות פעילות"
},
"tautulli": {
"playing": "מנגן",
"transcoding": "מקודד",
"bitrate": "סיביות",
"no_active": "אין הזרמות פעילות"
},
"nzbget": {
"rate": "יחס",
"remaining": "נותר",
"downloaded": "הורד"
},
"sabnzbd": {
"rate": "יחס",
"queue": "תור",
"timeleft": "זמן שנותר"
},
"rutorrent": {
"active": "פעיל",
"upload": "העלאה",
"download": "הורדה"
},
"transmission": {
"download": "הורדה",
"upload": "העלאה",
"leech": "בהורדה",
"seed": "בשיתוף"
},
"qbittorrent": {
"download": "הורדה",
"upload": "העלאה",
"leech": "בהורדה",
"seed": "בשיתוף"
},
"sonarr": {
"wanted": "מבוקש",
"queued": "בתור",
"series": "סדרות"
},
"radarr": {
"wanted": "מבוקש",
"queued": "בתור",
"movies": "סרטים"
},
"lidarr": {
"wanted": "מבוקש",
"queued": "בתור",
"albums": "אלבומים"
},
"readarr": {
"wanted": "מבוקש",
"queued": "בתור",
"books": "ספרים"
},
"bazarr": {
"missingEpisodes": "פרקים חסרים",
"missingMovies": "סרטים חסרים"
},
"ombi": {
"pending": "ממתין",
"approved": "מאושר",
"available": "זמין"
},
"jellyseerr": {
"pending": "ממתין",
"approved": "מאושר",
"available": "זמין"
},
"overseerr": {
"pending": "ממתין",
"approved": "מאושר",
"available": "זמין"
},
"pihole": {
"queries": "שאילתות",
"blocked": "נחסם",
"gravity": "Gravity"
},
"adguard": {
"queries": "שאילתות",
"blocked": "נחסם",
"filtered": "מסונן",
"latency": "השהיה"
},
"speedtest": {
"upload": "העלאה",
"download": "הורדה",
"ping": "פינג"
},
"portainer": {
"running": "פעיל",
"stopped": "נעצר",
"total": "סה\"כ"
},
"traefik": {
"routers": "ניתובים",
"services": "שירותים",
"middleware": "מתווך"
},
"npm": {
"enabled": "מופעל",
"disabled": "מבוטל",
"total": "סה\"כ"
},
"coinmarketcap": {
"configure": "קבע את התצורה של מטבע קריפטו אחד או יותר למעקב",
"1hour": "שעה אחת",
"1day": "יום 1",
"7days": "7 יום",
"30days": "30 יום"
},
"gotify": {
"apps": "אפליקציות",
"clients": "לקוחות",
"messages": "הודעות"
},
"prowlarr": {
"enableIndexers": "אינדקסים",
"numberOfGrabs": "Grabs",
"numberOfQueries": "שאילתות",
"numberOfFailGrabs": "Fail Grabs",
"numberOfFailQueries": "Fail Queries"
},
"jackett": {
"configured": "מוגדר",
"errored": "שגיאה"
}
}

View File

@@ -1,9 +1,9 @@
{ {
"resources": { "resources": {
"total": "Total", "total": "Összes",
"free": "Free", "free": "Szabad",
"used": "Used", "used": "Használt",
"load": "Load" "load": "Terhelés"
}, },
"docker": { "docker": {
"rx": "RX", "rx": "RX",
@@ -13,149 +13,149 @@
"offline": "Offline" "offline": "Offline"
}, },
"lidarr": { "lidarr": {
"albums": "Albums", "albums": "Albumok",
"wanted": "Wanted", "wanted": "Keresett",
"queued": "Queued" "queued": "Sorban áll"
}, },
"readarr": { "readarr": {
"wanted": "Wanted", "wanted": "Keresett",
"queued": "Queued", "queued": "Sorban áll",
"books": "Books" "books": "Könyvek"
}, },
"bazarr": { "bazarr": {
"missingEpisodes": "Missing Episodes", "missingEpisodes": "Hiányzó epizódok",
"missingMovies": "Missing Movies" "missingMovies": "Hiányzó filmek"
}, },
"widget": { "widget": {
"missing_type": "Missing Widget Type: {{type}}", "missing_type": "Hiányzó Widget Típus: {{type}}",
"api_error": "API Error", "api_error": "API Hiba",
"status": "Status" "status": "Státusz"
}, },
"weather": { "weather": {
"current": "Current Location", "current": "Aktuális hely",
"allow": "Click to allow", "allow": "Kattints az engedélyezéshez",
"updating": "Updating", "updating": "Frissítés",
"wait": "Please wait" "wait": "Kérlek várj"
}, },
"search": { "search": {
"placeholder": "Search…" "placeholder": "Keresés…"
}, },
"emby": { "emby": {
"playing": "Playing", "playing": "Lejátszás",
"transcoding": "Transcoding", "transcoding": "Átkódolás",
"bitrate": "Bitrate", "bitrate": "Bitráta",
"no_active": "No Active Streams" "no_active": "Nincs aktív lejátszás"
}, },
"tautulli": { "tautulli": {
"playing": "Playing", "playing": "Lejátszás folyamatban",
"transcoding": "Transcoding", "transcoding": "Átkódolás",
"bitrate": "Bitrate", "bitrate": "Bitráta",
"no_active": "No Active Streams" "no_active": "Nincs aktív lejátszás"
}, },
"nzbget": { "nzbget": {
"rate": "Rate", "rate": "Ráta",
"remaining": "Remaining", "remaining": "Hátralévő",
"downloaded": "Downloaded" "downloaded": "Letöltött"
}, },
"sabnzbd": { "sabnzbd": {
"rate": "Rate", "rate": "Ráta",
"queue": "Queue", "queue": "Sor",
"timeleft": "Time Left" "timeleft": "Hátralévő idő"
}, },
"rutorrent": { "rutorrent": {
"active": "Active", "active": "Aktív",
"upload": "Upload", "upload": "Feltöltés",
"download": "Download" "download": "Letöltés"
}, },
"transmission": { "transmission": {
"leech": "Leech", "leech": "Leechelés",
"seed": "Seed", "seed": "Seedelés",
"download": "Download", "download": "Letöltés",
"upload": "Upload" "upload": "Feltöltés"
}, },
"qbittorrent": { "qbittorrent": {
"download": "Download", "download": "Letöltés",
"upload": "Upload", "upload": "Feltöltés",
"leech": "Leech", "leech": "Leechelés",
"seed": "Seed" "seed": "Seedelés"
}, },
"sonarr": { "sonarr": {
"wanted": "Wanted", "wanted": "Keresett",
"queued": "Queued", "queued": "Sorban áll",
"series": "Series" "series": "Sorozat"
}, },
"radarr": { "radarr": {
"wanted": "Wanted", "wanted": "Keresett",
"queued": "Queued", "queued": "Sorban áll",
"movies": "Movies" "movies": "Filmek"
}, },
"ombi": { "ombi": {
"pending": "Pending", "pending": "Függőben",
"approved": "Approved", "approved": "Engedélyezett",
"available": "Available" "available": "Elérhető"
}, },
"jellyseerr": { "jellyseerr": {
"pending": "Pending", "pending": "Függőben",
"approved": "Approved", "approved": "Engedélyezett",
"available": "Available" "available": "Elérhető"
}, },
"overseerr": { "overseerr": {
"pending": "Pending", "pending": "Függőben",
"approved": "Approved", "approved": "Engedélyezett",
"available": "Available" "available": "Elérhető"
}, },
"pihole": { "pihole": {
"queries": "Queries", "queries": "Lekérdezések",
"blocked": "Blocked", "blocked": "Blokkolt",
"gravity": "Gravity" "gravity": "Gravitáció"
}, },
"adguard": { "adguard": {
"queries": "Queries", "queries": "Lekérdezések",
"blocked": "Blocked", "blocked": "Blokkolt",
"filtered": "Filtered", "filtered": "Szűrt",
"latency": "Latency" "latency": "Késleltetés"
}, },
"speedtest": { "speedtest": {
"upload": "Upload", "upload": "Feltöltés",
"download": "Download", "download": "Letöltés",
"ping": "Ping" "ping": "Ping"
}, },
"portainer": { "portainer": {
"running": "Running", "running": "Futó",
"stopped": "Stopped", "stopped": "Megállított",
"total": "Total" "total": "Összes"
}, },
"traefik": { "traefik": {
"routers": "Routers", "routers": "Routerek",
"services": "Services", "services": "Folyamatok",
"middleware": "Middleware" "middleware": "Közvetítő"
}, },
"npm": { "npm": {
"enabled": "Enabled", "enabled": "Bekapcsolva",
"disabled": "Disabled", "disabled": "Kikapcsolva",
"total": "Total" "total": "Összes"
}, },
"coinmarketcap": { "coinmarketcap": {
"configure": "Configure one or more crypto currencies to track", "configure": "Állíts be egy vagy több Cryptovalutát a követéshez",
"1hour": "1 Hour", "1hour": "1 Óra",
"1day": "1 Day", "1day": "1 Nap",
"7days": "7 Days", "7days": "7 Nap",
"30days": "30 Days" "30days": "30 Nap"
}, },
"gotify": { "gotify": {
"apps": "Applications", "apps": "Applikációk",
"clients": "Clients", "clients": "Kliensek",
"messages": "Messages" "messages": "Üzenetek"
}, },
"prowlarr": { "prowlarr": {
"enableIndexers": "Indexers", "enableIndexers": "Indexerek",
"numberOfGrabs": "Grabs", "numberOfGrabs": "Fogott",
"numberOfFailGrabs": "Fail Grabs", "numberOfFailGrabs": "Hibás fogások",
"numberOfQueries": "Queries", "numberOfQueries": "Lekérdezések",
"numberOfFailQueries": "Fail Queries" "numberOfFailQueries": "Hibás lekérdezések"
}, },
"jackett": { "jackett": {
"configured": "Configured", "configured": "Beállított",
"errored": "Errored" "errored": "Hibás"
} }
} }

View File

@@ -110,10 +110,10 @@
}, },
"coinmarketcap": { "coinmarketcap": {
"configure": "配置一个或多个需要追踪的加密", "configure": "配置一个或多个需要追踪的加密",
"1hour": "1 Hour", "1hour": "1小时",
"1day": "1 Day", "1day": "1",
"7days": "7 Days", "7days": "7",
"30days": "30 Days" "30days": "30"
}, },
"gotify": { "gotify": {
"apps": "应用", "apps": "应用",
@@ -121,41 +121,41 @@
"messages": "信息" "messages": "信息"
}, },
"prowlarr": { "prowlarr": {
"enableIndexers": "Indexers", "enableIndexers": "索引器",
"numberOfGrabs": "Grabs", "numberOfGrabs": "抓取",
"numberOfQueries": "Queries", "numberOfQueries": "查询",
"numberOfFailGrabs": "Fail Grabs", "numberOfFailGrabs": "抓取失败",
"numberOfFailQueries": "Fail Queries" "numberOfFailQueries": "查询失败"
}, },
"transmission": { "transmission": {
"download": "下载", "download": "下载",
"upload": "上传", "upload": "上传",
"leech": "Leech", "leech": "吸血",
"seed": "做种" "seed": "做种"
}, },
"jackett": { "jackett": {
"configured": "Configured", "configured": "已配置",
"errored": "Errored" "errored": "出错了"
}, },
"bazarr": { "bazarr": {
"missingEpisodes": "Missing Episodes", "missingEpisodes": "缺少的剧集",
"missingMovies": "Missing Movies" "missingMovies": "缺少的电影"
}, },
"lidarr": { "lidarr": {
"wanted": "Wanted", "wanted": "订阅",
"queued": "Queued", "queued": "队列",
"albums": "Albums" "albums": "相册"
}, },
"adguard": { "adguard": {
"queries": "Queries", "queries": "查询",
"blocked": "Blocked", "blocked": "阻止",
"filtered": "Filtered", "filtered": "过滤",
"latency": "Latency" "latency": "延迟"
}, },
"qbittorrent": { "qbittorrent": {
"download": "Download", "download": "下载",
"upload": "Upload", "upload": "上传",
"leech": "Leech", "leech": "吸血",
"seed": "Seed" "seed": "做种"
} }
} }

View File

@@ -2,7 +2,7 @@
import useSWR from "swr"; import useSWR from "swr";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { BsFillPlayFill, BsPauseFill, BsCpu, BsFillCpuFill } from "react-icons/bs"; import { BsFillPlayFill, BsPauseFill, BsCpu, BsFillCpuFill } from "react-icons/bs";
import { MdOutlineSmartDisplay } from "react-icons/md"; import { MdOutlineSmartDisplay, MdSmartDisplay } from "react-icons/md";
import Widget from "../widget"; import Widget from "../widget";
@@ -37,9 +37,16 @@ function SingleSessionEntry({ session }) {
<div className="absolute w-full whitespace-nowrap text-ellipsis overflow-hidden">{full_title}</div> <div className="absolute w-full whitespace-nowrap text-ellipsis overflow-hidden">{full_title}</div>
</div> </div>
<div className="self-center text-xs flex justify-end mr-1.5 pl-1"> <div className="self-center text-xs flex justify-end mr-1.5 pl-1">
{video_decision === "direct play" && audio_decision === "direct play" && (
<MdSmartDisplay className="opacity-50" />
)}
{video_decision === "copy" && audio_decision === "copy" && <MdOutlineSmartDisplay className="opacity-50" />} {video_decision === "copy" && audio_decision === "copy" && <MdOutlineSmartDisplay className="opacity-50" />}
{video_decision !== "copy" && audio_decision !== "copy" && <BsFillCpuFill className="opacity-50" />} {video_decision !== "copy" &&
{video_decision === "copy" && audio_decision !== "copy" && <BsCpu className="opacity-50" />} video_decision !== "direct play" &&
(audio_decision !== "copy" || audio_decision !== "direct play") && <BsFillCpuFill className="opacity-50" />}
{(video_decision === "copy" || video_decision === "direct play") &&
audio_decision !== "copy" &&
audio_decision !== "direct play" && <BsCpu className="opacity-50" />}
</div> </div>
</div> </div>
@@ -92,9 +99,16 @@ function SessionEntry({ session }) {
<div className="absolute w-full whitespace-nowrap text-ellipsis overflow-hidden">{full_title}</div> <div className="absolute w-full whitespace-nowrap text-ellipsis overflow-hidden">{full_title}</div>
</div> </div>
<div className="self-center text-xs flex justify-end mr-1.5 pl-1 z-10"> <div className="self-center text-xs flex justify-end mr-1.5 pl-1 z-10">
{video_decision === "direct play" && audio_decision === "direct play" && (
<MdSmartDisplay className="opacity-50" />
)}
{video_decision === "copy" && audio_decision === "copy" && <MdOutlineSmartDisplay className="opacity-50" />} {video_decision === "copy" && audio_decision === "copy" && <MdOutlineSmartDisplay className="opacity-50" />}
{video_decision !== "copy" && audio_decision !== "copy" && <BsFillCpuFill className="opacity-50" />} {video_decision !== "copy" &&
{video_decision === "copy" && audio_decision !== "copy" && <BsCpu className="opacity-50" />} video_decision !== "direct play" &&
(audio_decision !== "copy" || audio_decision !== "direct play") && <BsFillCpuFill className="opacity-50" />}
{(video_decision === "copy" || video_decision === "direct play") &&
audio_decision !== "copy" &&
audio_decision !== "direct play" && <BsCpu className="opacity-50" />}
</div> </div>
<div className="self-center text-xs flex justify-end mr-2 z-10">{millisecondsToString(view_offset)}</div> <div className="self-center text-xs flex justify-end mr-2 z-10">{millisecondsToString(view_offset)}</div>
</div> </div>

View File

@@ -23,7 +23,7 @@ function jsonArrayTransform(data, transform) {
} }
function jsonArrayFilter(data, filter) { function jsonArrayFilter(data, filter) {
return jsonArrayTransform(data, items => items.filter(filter)); return jsonArrayTransform(data, (items) => items.filter(filter));
} }
const serviceProxyHandlers = { const serviceProxyHandlers = {
@@ -36,8 +36,8 @@ const serviceProxyHandlers = {
maps: { maps: {
movie: (data) => ({ movie: (data) => ({
wanted: jsonArrayFilter(data, (item) => item.isAvailable === false).length, wanted: jsonArrayFilter(data, (item) => item.isAvailable === false).length,
have: jsonArrayFilter(data, (item) => item.isAvailable === true).length have: jsonArrayFilter(data, (item) => item.isAvailable === true).length,
}) }),
}, },
}, },
sonarr: { sonarr: {
@@ -52,7 +52,7 @@ const serviceProxyHandlers = {
proxy: genericProxyHandler, proxy: genericProxyHandler,
maps: { maps: {
album: (data) => ({ album: (data) => ({
have: jsonArrayFilter(data, (item) => item.statistics.percentOfTracks === 100).length, have: jsonArrayFilter(data, (item) => item?.statistics?.percentOfTracks === 100).length,
}), }),
}, },
}, },
@@ -60,7 +60,7 @@ const serviceProxyHandlers = {
proxy: genericProxyHandler, proxy: genericProxyHandler,
maps: { maps: {
book: (data) => ({ book: (data) => ({
have: jsonArrayFilter(data, (item) => item.statistics.bookFileCount > 0).length, have: jsonArrayFilter(data, (item) => item?.statistics?.bookFileCount > 0).length,
}), }),
}, },
}, },