import useSWR from "swr"; export default function Emby({ service }) { const config = service.widget; function buildApiUrl(endpoint) { const { url, key } = config; return `${url}/emby/${endpoint}?api_key=${key}`; } const { data: sessionsData, error: sessionsError } = useSWR(buildApiUrl(`Sessions`)); if (sessionsError) { return (
Emby API Error
); } if (!sessionsData) { return (
-
PLAYING
-
TRANSCODE
-
BITRATE
); } const playing = sessionsData.filter((session) => session.hasOwnProperty("NowPlayingItem")); const transcoding = sessionsData.filter( (session) => session.hasOwnProperty("PlayState") && session.PlayState.PlayMethod === "Transcode" ); const bitrate = playing.reduce((acc, session) => acc + session.NowPlayingItem.Bitrate, 0); return (
{playing.length}
PLAYING
{transcoding.length}
TRANSCODE
{Math.round((bitrate / 1024 / 1024) * 100) / 100} Mbps
BITRATE
); }