diff --git a/src/components/Dashboard/Views/DashboardView.tsx b/src/components/Dashboard/Views/DashboardView.tsx index b16c86385..c87c17050 100644 --- a/src/components/Dashboard/Views/DashboardView.tsx +++ b/src/components/Dashboard/Views/DashboardView.tsx @@ -1,4 +1,4 @@ -import { Center, Group, Loader, Stack } from '@mantine/core'; +import { Group, Stack } from '@mantine/core'; import { useEffect, useMemo, useRef } from 'react'; import { useConfigContext } from '../../../config/provider'; import { useResize } from '../../../hooks/use-resize'; @@ -6,9 +6,9 @@ import { useScreenLargerThan } from '../../../hooks/useScreenLargerThan'; import { CategoryType } from '../../../types/category'; import { WrapperType } from '../../../types/wrapper'; import { DashboardCategory } from '../Wrappers/Category/Category'; -import { useGridstackStore } from '../Wrappers/gridstack/store'; import { DashboardSidebar } from '../Wrappers/Sidebar/Sidebar'; import { DashboardWrapper } from '../Wrappers/Wrapper/Wrapper'; +import { useGridstackStore } from '../Wrappers/gridstack/store'; export const DashboardView = () => { const wrappers = useWrapperItems(); diff --git a/src/pages/api/modules/media-requests/index.ts b/src/pages/api/modules/media-requests/index.ts index fc141d6a7..0edf6e342 100644 --- a/src/pages/api/modules/media-requests/index.ts +++ b/src/pages/api/modules/media-requests/index.ts @@ -14,6 +14,8 @@ const Get = async (request: NextApiRequest, response: NextApiResponse) => { ['overseerr', 'jellyseerr'].includes(app.integration?.type ?? '') ); + Consola.log(`Retrieving media requests from ${apps.length} apps`); + const promises = apps.map((app): Promise => { const apiKey = app.integration?.properties.find((prop) => prop.field === 'apiKey')?.value ?? ''; const headers: HeadersInit = { 'X-Api-Key': apiKey }; @@ -39,8 +41,8 @@ const Get = async (request: NextApiRequest, response: NextApiResponse) => { type: item.type, name: genericItem.name, userName: item.requestedBy.displayName, - userLink: constructAvatarUrl(app, item), - userProfilePicture: `${app.url}${item.requestedBy.avatar}`, + userProfilePicture: constructAvatarUrl(app, item), + userLink: `${app.url}/users/${item.requestedBy.id}`, airDate: genericItem.airDate, status: item.status, backdropPath: `https://image.tmdb.org/t/p/original/${genericItem.backdropPath}`, @@ -64,11 +66,14 @@ const Get = async (request: NextApiRequest, response: NextApiResponse) => { }; const constructAvatarUrl = (app: ConfigAppType, item: OverseerrResponseItem) => { - if (item.requestedBy.avatar.startsWith('http://') || item.requestedBy.avatar.startsWith('https://')) { + const isAbsolute = + item.requestedBy.avatar.startsWith('http://') || item.requestedBy.avatar.startsWith('https://'); + + if (isAbsolute) { return item.requestedBy.avatar; } - return `${app.url}/users/${item.requestedBy.id}`; + return `${app.url}/${item.requestedBy.avatar}`; }; const retrieveDetailsForItem = async ( diff --git a/src/widgets/media-requests/MediaRequestListTile.tsx b/src/widgets/media-requests/MediaRequestListTile.tsx index 6c8a7278d..4cbdd47be 100644 --- a/src/widgets/media-requests/MediaRequestListTile.tsx +++ b/src/widgets/media-requests/MediaRequestListTile.tsx @@ -82,7 +82,14 @@ function MediaRequestListTile({ widget }: MediaRequestListWidgetProps) { - requester avatar + requester avatar useQuery({ const response = await fetch('/api/modules/media-requests'); return (await response.json()) as MediaRequest[]; }, + refetchInterval: 3 * 60 * 1000, });