Support tags, and better participants for servers

- Parses `tags` for Navidrome (mapping string: string[])
- Parses `Tags` (and fetches for it) for Jellyfin (map a string to empty, and display as a bool)
- Clean parsing of participants for Navidrome/Subsonic
- Only show `People` for Jellyfin, not clickable
This commit is contained in:
Kendall Garner
2025-05-17 21:35:58 -07:00
parent 89e27ec6ff
commit b0d86ee5c9
9 changed files with 131 additions and 13 deletions
@@ -181,6 +181,7 @@ const normalizeSong = (
serverType: ServerType.SUBSONIC,
size: item.size,
streamUrl,
tags: null,
trackNumber: item.track || 1,
uniqueId: nanoid(),
updatedAt: '',
@@ -267,6 +268,7 @@ const normalizeAlbum = (
(item as z.infer<typeof ssType._response.album>).song?.map((song) =>
normalizeSong(song, server),
) || [],
tags: item.tags || null,
uniqueId: nanoid(),
updatedAt: item.created,
userFavorite: item.starred || false,