fix navidrome nothing playing, simplify widget params

This commit is contained in:
Michael Shamoon 2022-11-07 10:36:47 -08:00
parent 210d746ef6
commit 31b644c939
2 changed files with 13 additions and 5 deletions

View File

@ -11,11 +11,11 @@ export default function Component({ service }) {
const { data: navidromeData, error: navidromeError } = useWidgetAPI(widget, "getNowPlaying"); const { data: navidromeData, error: navidromeError } = useWidgetAPI(widget, "getNowPlaying");
if (navidromeError) { if (navidromeError || navidromeData?.error || navidromeData?.["subsonic-response"]?.error) {
return <Container error={t("widget.api_error")} />; return <Container error={t("widget.api_error")} />;
} }
if (!navidromeData || Object.keys(navidromeData["subsonic-response"].nowPlaying).length === 0) { if (!navidromeData) {
return ( return (
<Container service={service}> <Container service={service}>
<Block label="navidrome.user" /> <Block label="navidrome.user" />
@ -26,10 +26,18 @@ export default function Component({ service }) {
); );
} }
const nowPlaying = Object.values(navidromeData["subsonic-response"].nowPlaying.entry); const nowPlaying = navidromeData["subsonic-response"].nowPlaying;
if (!nowPlaying.entry) {
// nothing playing
return (
<Container service={service} />
);
}
const nowPlayingEntries = Object.values(nowPlaying.entry);
const songList = []; const songList = [];
nowPlaying.forEach(userPlay => { nowPlayingEntries.forEach(userPlay => {
const playing = ( const playing = (
<Container service={service}> <Container service={service}>
<Block label="navidrome.user" value={userPlay.username} /> <Block label="navidrome.user" value={userPlay.username} />

View File

@ -1,7 +1,7 @@
import genericProxyHandler from "utils/proxy/handlers/generic"; import genericProxyHandler from "utils/proxy/handlers/generic";
const widget = { const widget = {
api: "{url}/rest/{endpoint}?u={user}&t={token}&s={salt}&v={version}&c={client}&f=json", api: "{url}/rest/{endpoint}?u={user}&t={token}&s={salt}&v=1.16.1&c=homepage&f=json",
proxyHandler: genericProxyHandler, proxyHandler: genericProxyHandler,
mappings: { mappings: {