diff --git a/src/renderer/features/shared/hooks/use-server-credential.ts b/src/renderer/features/shared/hooks/use-server-credential.ts new file mode 100644 index 000000000..651e4d28b --- /dev/null +++ b/src/renderer/features/shared/hooks/use-server-credential.ts @@ -0,0 +1,19 @@ +import { useAuthStore } from '@/renderer/store'; +import { ServerType } from '@/renderer/types'; + +export const useServerCredential = () => { + const serverId = useAuthStore((state) => state.currentServer?.id) || ''; + const serverType = useAuthStore((state) => state.currentServer?.type); + const serverCredential = useAuthStore( + (state) => state.serverCredentials + ).find((c) => c.serverId === serverId && c.enabled)?.token; + + const isImageTokenRequired = + serverCredential && + (serverType === ServerType.SUBSONIC || serverType === ServerType.NAVIDROME); + + return { + isImageTokenRequired, + serverToken: serverCredential, + }; +}; diff --git a/src/renderer/features/shared/index.ts b/src/renderer/features/shared/index.ts index 1cf0038a1..fd1d1b118 100644 --- a/src/renderer/features/shared/index.ts +++ b/src/renderer/features/shared/index.ts @@ -1,2 +1,3 @@ export * from './components/animated-page'; export * from './hooks/use-permissions'; +export * from './hooks/use-server-credential';