import { gql, useQuery } from '@apollo/client'; import AutoSizer from 'react-virtualized-auto-sizer'; import classNames from 'classnames'; import { useRouter } from 'next/router'; import { ReactNode } from 'react'; import { Market, MarketVariables } from './__generated__/Market'; // Top level page query const MARKET_QUERY = gql` query Market($marketId: ID!) { market(id: $marketId) { id name trades { id price size createdAt } } } `; const MarketPage = () => { const { query } = useRouter(); const { data, loading, error } = useQuery( MARKET_QUERY, { variables: { marketId: query.marketId as string }, skip: !query.marketId, } ); if (loading || !data) { return
Loading...
; } return ( <> {error ? (
Something went wrong: {error.message}
) : (

Market: {query.marketId}

Content Content Content
{JSON.stringify(data, null, 2)}
Content
)} ); }; export default MarketPage; interface GridChildProps { children: ReactNode; name?: string; className?: string; } const GridChild = ({ children, className, name }: GridChildProps) => { const gridChildClasses = classNames('bg-white', className); return (

{name}

{({ width, height }) => (
{children}
)}
); };