import Infinity from '@app/assets/infinity.svg'; import { SmallLoadingSpinner } from '@app/components/Common/LoadingSpinner'; import ProgressCircle from '@app/components/Common/ProgressCircle'; import type { QuotaResponse } from '@server/interfaces/api/userInterfaces'; import { defineMessages, useIntl } from 'react-intl'; import useSWR from 'swr'; const messages = defineMessages({ movierequests: 'Movie Requests', seriesrequests: 'Series Requests', }); type MiniQuotaDisplayProps = { userId: number; }; const MiniQuotaDisplay = ({ userId }: MiniQuotaDisplayProps) => { const intl = useIntl(); const { data, error } = useSWR(`/api/v1/user/${userId}/quota`); if (error) { return null; } if (!data && !error) { return ; } return ( <> {((data?.movie.limit ?? 0) !== 0 || (data?.tv.limit ?? 0) !== 0) && (
{intl.formatMessage(messages.movierequests)}
{data?.movie.limit ?? 0 > 0 ? ( <> {data?.movie.remaining} / {data?.movie.limit} ) : ( <> Unlimited )}
{intl.formatMessage(messages.seriesrequests)}
{data?.tv.limit ?? 0 > 0 ? ( <> {data?.tv.remaining} / {data?.tv.limit} ) : ( <> Unlimited )}
)} ); }; export default MiniQuotaDisplay;