import type { GetStaticProps, InferGetStaticPropsType } from 'next'

import { getGlobalFields } from '@/lib/api/globals'
import { getSearchResultPage } from '@/lib/api/search-results'
import { LoadingProvider } from '@/lib/LoadingContext'

import Search from '@/components/templates/Search'

export default function SearchResults({ page }: InferGetStaticPropsType<typeof getStaticProps>) {
  return (
    <LoadingProvider>
      <Search page={page} />
    </LoadingProvider>
  )
}

export const getStaticProps: GetStaticProps = async ({ preview = false }) => {
  const { globals } = await getGlobalFields(preview)
  const { page } = await getSearchResultPage()

  return {
    props: {
      globals,
      page,
    },
  }
}
