diff --git a/api/libraries.ts b/api/libraries.ts index 5aacb354..ae3544a1 100644 --- a/api/libraries.ts +++ b/api/libraries.ts @@ -5,20 +5,20 @@ import _ from "lodash"; export function fetchMusicLibraries(api: Api): Promise { - return new Promise( async (resolve) => { + return new Promise(async (resolve, reject) => { console.log("Fetching music libraries from Jellyfin"); let libraries = await getItemsApi(api).getItems(); if (_.isUndefined(libraries.data.Items)) { console.log("No libraries found on Jellyfin"); - return Promise.reject("No libraries found on Jellyfin"); + return reject("No libraries found on Jellyfin"); } let musicLibraries = libraries.data.Items!.filter(library => library.CollectionType == 'music'); console.log(`Found ${musicLibraries.length} music libraries`); - resolve(musicLibraries); + return resolve(musicLibraries); }); } \ No newline at end of file diff --git a/components/Login/helpers/server-library.tsx b/components/Login/helpers/server-library.tsx index c1b50fdc..e7849630 100644 --- a/components/Login/helpers/server-library.tsx +++ b/components/Login/helpers/server-library.tsx @@ -1,7 +1,7 @@ import { useQuery } from "@tanstack/react-query"; import React, { useEffect, useState } from "react"; import { useApiClientContext } from "../../jellyfin-api-provider"; -import { RadioGroup, Select, View, YStack } from "tamagui"; +import { RadioGroup, Select, Text, View, YStack } from "tamagui"; import { JellifyLibrary } from "../../../types/JellifyLibrary"; import { useAuthenticationContext } from "../provider"; import { Heading } from "../../helpers/text"; @@ -28,7 +28,7 @@ export default function ServerLibrary(): React.JSX.Element { queryFn: async ({ queryKey }) => await fetchMusicLibraries(queryKey[1] as Api) }); - const { data : libraries, isPending, refetch } = useLibraries(apiClient!); + const { data : libraries, isError, isPending, refetch } = useLibraries(apiClient!); useEffect(() => { refetch(); @@ -59,6 +59,10 @@ export default function ServerLibrary(): React.JSX.Element { } + { isError && ( + Unable to load libraries + )} +