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");
if (navidromeError) {
if (navidromeError || navidromeData?.error || navidromeData?.["subsonic-response"]?.error) {
return <Container error={t("widget.api_error")} />;
}
if (!navidromeData || Object.keys(navidromeData["subsonic-response"].nowPlaying).length === 0) {
if (!navidromeData) {
return (
<Container service={service}>
<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 = [];
nowPlaying.forEach(userPlay => {
nowPlayingEntries.forEach(userPlay => {
const playing = (
<Container service={service}>
<Block label="navidrome.user" value={userPlay.username} />