diff --git a/src/App.tsx b/src/App.tsx index 50661303db..d88e709c6e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,7 +1,6 @@ import { Api } from '@jellyfin/sdk'; import { UserDto } from '@jellyfin/sdk/lib/generated-client/models/user-dto'; import { History } from '@remix-run/router'; -import { ApiClient, ConnectionManager } from 'jellyfin-apiclient'; import React, { useEffect, useState } from 'react'; import { HistoryRouter } from './components/HistoryRouter'; @@ -12,11 +11,7 @@ import AppRoutes from './routes/index'; import events from './utils/events'; import { toApi } from './utils/sdk'; -interface ServerConnections extends ConnectionManager { - currentApiClient: () => ApiClient -} - -const App = ({ history, connections }: { history: History, connections: ServerConnections }) => { +const App = ({ history, connections }: { history: History, connections: typeof ServerConnections }) => { const [ api, setApi ] = useState(toApi(connections.currentApiClient())); const [ user, setUser ] = useState(); diff --git a/src/components/ConnectionRequired.tsx b/src/components/ConnectionRequired.tsx index 9de9db0eca..1bc211c43a 100644 --- a/src/components/ConnectionRequired.tsx +++ b/src/components/ConnectionRequired.tsx @@ -129,7 +129,7 @@ const ConnectionRequired: FunctionComponent = ({ if (isAdminRequired) { try { const user = await client.getCurrentUser(); - if (!user.Policy.IsAdministrator) { + if (!user.Policy?.IsAdministrator) { console.warn('[ConnectionRequired] normal user attempted to access admin route'); bounce(await ServerConnections.connect()); return; diff --git a/src/components/ServerConnections.js b/src/components/ServerConnections.js index 5f7a7ef673..2ae12aad36 100644 --- a/src/components/ServerConnections.js +++ b/src/components/ServerConnections.js @@ -86,6 +86,10 @@ class ServerConnections extends ConnectionManager { return this.localApiClient; } + /** + * Gets the ApiClient that is currently connected. + * @returns {ApiClient} apiClient + */ currentApiClient() { let apiClient = this.getLocalApiClient();