import { useRouter } from 'next/router'; import { defineMessages, useIntl } from 'react-intl'; import type { TvResult } from '../../../../server/models/Search'; import useDiscover from '../../../hooks/useDiscover'; import globalMessages from '../../../i18n/globalMessages'; import Error from '../../../pages/_error'; import Header from '../../Common/Header'; import ListView from '../../Common/ListView'; import PageTitle from '../../Common/PageTitle'; const messages = defineMessages({ languageSeries: '{language} Series', }); const DiscoverTvLanguage = () => { const router = useRouter(); const intl = useIntl(); const { isLoadingInitialData, isEmpty, isLoadingMore, isReachingEnd, titles, fetchMore, error, } = useDiscover< TvResult, { originalLanguage: { iso_639_1: string; english_name: string; name: string; }; } >(`/api/v1/discover/tv/language/${router.query.language}`); if (error) { return ; } const title = isLoadingInitialData ? intl.formatMessage(globalMessages.loading) : intl.formatMessage(messages.languageSeries, { language: intl.formatDisplayName(router.query.language as string, { type: 'language', fallback: 'none', }), }); return ( <>
{title}
0) } isReachingEnd={isReachingEnd} onScrollBottom={fetchMore} /> ); }; export default DiscoverTvLanguage;