From 5e329fd82e35189d463da07ce89d13008d808264 Mon Sep 17 00:00:00 2001 From: Violet Caulfield Date: Fri, 22 Nov 2024 13:04:47 -0600 Subject: [PATCH] adding error message logic --- api/libraries.ts | 6 +++--- components/Login/helpers/server-library.tsx | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) 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 + )} +