diff --git a/api/queries/functions/api.ts b/api/queries/functions/api.ts
index b8bf2b07..225d911d 100644
--- a/api/queries/functions/api.ts
+++ b/api/queries/functions/api.ts
@@ -1,6 +1,6 @@
import { Api } from "@jellyfin/sdk";
-import { client } from "../../queries";
import { fetchCredentials } from "./storage";
+import { client } from "../../client";
/**
* A promise to build an authenticated Jellyfin API client
diff --git a/api/queries/functions/libraries.ts b/api/queries/functions/libraries.ts
new file mode 100644
index 00000000..40feb523
--- /dev/null
+++ b/api/queries/functions/libraries.ts
@@ -0,0 +1,14 @@
+import { Api } from "@jellyfin/sdk";
+import { getItemsApi } from "@jellyfin/sdk/lib/utils/api/items-api";
+import _ from "lodash";
+
+
+export const fetchMusicLibraries = async (api: Api) => {
+
+ let libraries = await getItemsApi(api).getItems();
+
+ if (_.isUndefined(libraries.data.Items))
+ return Promise.reject("No libraries found on Jellyfin");
+
+ return libraries.data.Items!.filter(library => library.CollectionType == 'music')
+}
\ No newline at end of file
diff --git a/api/queries/libraries.ts b/api/queries/libraries.ts
index e69de29b..9143b2d5 100644
--- a/api/queries/libraries.ts
+++ b/api/queries/libraries.ts
@@ -0,0 +1,9 @@
+import { useQuery } from "@tanstack/react-query";
+import { QueryKeys } from "../../enums/query-keys";
+import { fetchMusicLibraries } from "./functions/libraries";
+import { Api } from "@jellyfin/sdk";
+
+export const useLibraries = (api: Api) => useQuery({
+ queryKey: [QueryKeys.Libraries],
+ queryFn: () => fetchMusicLibraries(api)
+});
diff --git a/api/queries/public.ts b/api/queries/public.ts
index 5aa2037b..19a84ed4 100644
--- a/api/queries/public.ts
+++ b/api/queries/public.ts
@@ -1,6 +1,5 @@
import { useQuery } from "@tanstack/react-query";
import { QueryKeys } from "../../enums/query-keys";
-import { usePublicApi } from "../queries";
import { getSystemApi } from "@jellyfin/sdk/lib/utils/api/system-api";
import { createPublicApi } from "./functions/api";
diff --git a/components/Home/component.tsx b/components/Home/component.tsx
index e69de29b..4dbb773d 100644
--- a/components/Home/component.tsx
+++ b/components/Home/component.tsx
@@ -0,0 +1,17 @@
+import { H1, ScrollView, YStack } from "tamagui";
+import { useApiClientContext } from "../jellyfin-api-provider";
+import _ from "lodash";
+
+
+export default function Home(): React.JSX.Element {
+
+ const { apiClient, username } = useApiClientContext();
+
+ return (
+
+
+ Hi { _.isUndefined(username) ? "there" : `, ${username}`}
+
+
+ );
+}
\ No newline at end of file
diff --git a/components/Login/component.tsx b/components/Login/component.tsx
index cb822f74..19557917 100644
--- a/components/Login/component.tsx
+++ b/components/Login/component.tsx
@@ -7,7 +7,7 @@ import ServerLibrary from "./helpers/server-library";
export default function Login(): React.JSX.Element {
- const { server, changeServer, username } = useApiClientContext();
+ const { server, changeServer, changeUser, username } = useApiClientContext();
const Stack = createStackNavigator();
@@ -25,7 +25,7 @@ export default function Login(): React.JSX.Element {
/>
) : (
- (_.isUndefined(username)) ? (
+ (_.isUndefined(username) || changeUser) ? (