// ssr the related query with an adequate limit // need to use a cursor on related import { RELATED_ITEMS, RELATED_ITEMS_WITH_ITEM } from '@/fragments/items' import { getGetServerSideProps } from '@/api/ssrApollo' import Items from '@/components/items' import Layout from '@/components/layout' import { useRouter } from 'next/router' import Item from '@/components/item' import { useQuery } from '@apollo/client' import PageLoading from '@/components/page-loading' export const getServerSideProps = getGetServerSideProps({ query: RELATED_ITEMS_WITH_ITEM, notFound: data => !data.item }) export default function Related ({ ssrData }) { const router = useRouter() const { data } = useQuery(RELATED_ITEMS_WITH_ITEM, { variables: { id: router.query.id } }) if (!data && !ssrData) return <PageLoading /> const { item } = data || ssrData return ( <Layout> <Item item={item} /> <div className='fw-bold mt-2'>related</div> <Items ssrData={ssrData} query={RELATED_ITEMS} destructureData={data => data.related} variables={{ id: router.query.id }} /> </Layout> ) }