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 defineMessages from '@app/utils/defineMessages'; import type { MovieResult, PersonResult, TvResult, } from '@server/models/Search'; import { useRouter } from 'next/router'; import { useIntl } from 'react-intl'; const messages = defineMessages('components.Search', { search: 'Search', searchresults: 'Search Results', }); const Search = () => { const intl = useIntl(); const router = useRouter(); const { isLoadingInitialData, isEmpty, isLoadingMore, isReachingEnd, titles, fetchMore, error, } = useDiscover( `/api/v1/search`, { query: router.query.query, }, { hideAvailable: false } ); if (error) { return ; } return ( <>
{intl.formatMessage(messages.searchresults)}
0) } isReachingEnd={isReachingEnd} onScrollBottom={fetchMore} /> ); }; export default Search;