import Header from '@app/components/Common/Header'; import ListView from '@app/components/Common/ListView'; import PageTitle from '@app/components/Common/PageTitle'; import useDiscover from '@app/hooks/useDiscover'; import Error from '@app/pages/_error'; import type { MovieDetails } from '@server/models/Movie'; import type { MovieResult } from '@server/models/Search'; import Link from 'next/link'; import { useRouter } from 'next/router'; import { defineMessages, useIntl } from 'react-intl'; import useSWR from 'swr'; const messages = defineMessages({ recommendations: 'Recommendations', }); const MovieRecommendations = () => { const intl = useIntl(); const router = useRouter(); const { data: movieData } = useSWR( `/api/v1/movie/${router.query.movieId}` ); const { isLoadingInitialData, isEmpty, isLoadingMore, isReachingEnd, titles, fetchMore, error, } = useDiscover( `/api/v1/movie/${router.query.movieId}/recommendations` ); if (error) { return ; } return ( <>
{movieData?.title} } > {intl.formatMessage(messages.recommendations)}
0) } onScrollBottom={fetchMore} /> ); }; export default MovieRecommendations;