import { OperationVariables, QueryHookOptions, useQuery } from '@apollo/client'; import { DocumentNode } from 'graphql'; import { ReactNode } from 'react'; import { Splash } from '@vegaprotocol/ui-toolkit'; interface PageQueryContainerProps { query: DocumentNode; options?: QueryHookOptions; children: (data: TData) => ReactNode; } export const PageQueryContainer = ({ query, options, children, }: PageQueryContainerProps) => { const { data, loading, error } = useQuery(query, options); if (loading || !data) { return Loading...; } if (error) { return Something went wrong: {error.message}; } return <>{children(data)}; };