🚨 Fix warnings

This commit is contained in:
Manuel
2023-04-07 20:06:27 +02:00
parent 2e0478b2a7
commit 6b3fe8951a
5 changed files with 21 additions and 8 deletions

View File

@@ -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();

View File

@@ -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<MediaRequest[]> => {
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 (

View File

@@ -82,7 +82,14 @@ function MediaRequestListTile({ widget }: MediaRequestListWidgetProps) {
</Stack>
</Flex>
<Flex gap="xs">
<Image src={item.userProfilePicture} width={25} height={25} alt="requester avatar" />
<Image
src={item.userProfilePicture}
width={25}
height={25}
alt="requester avatar"
radius="xl"
withPlaceholder
/>
<Text
component="a"
href={item.userLink}

View File

@@ -1,11 +1,11 @@
import { Card, Center, Flex, Stack, Text } from '@mantine/core';
import { IconChartBar } from '@tabler/icons';
import { useTranslation } from 'next-i18next';
import { defineWidget } from '../helper';
import { WidgetLoading } from '../loading';
import { IWidget } from '../widgets';
import { useMediaRequestQuery } from './media-request-query';
import { MediaRequestStatus } from './media-request-types';
import { useTranslation } from 'next-i18next';
const definition = defineWidget({
id: 'media-requests-stats',

View File

@@ -7,4 +7,5 @@ export const useMediaRequestQuery = () => useQuery({
const response = await fetch('/api/modules/media-requests');
return (await response.json()) as MediaRequest[];
},
refetchInterval: 3 * 60 * 1000,
});