diff --git a/web/hooks/use-prefetch.ts b/web/hooks/use-prefetch.ts new file mode 100644 index 00000000..e22e13eb --- /dev/null +++ b/web/hooks/use-prefetch.ts @@ -0,0 +1,11 @@ +import { useUserBetContracts } from './use-contracts' +import { usePortfolioHistory } from './use-portfolio-history' +import { useUserBets } from './use-user-bets' + +export function usePrefetch(userId: string | undefined) { + const maybeUserId = userId ?? '' + + useUserBets(maybeUserId) + useUserBetContracts(maybeUserId) + usePortfolioHistory(maybeUserId, 'weekly') +} diff --git a/web/pages/[username]/[contractSlug].tsx b/web/pages/[username]/[contractSlug].tsx index 3667511e..2ef472fc 100644 --- a/web/pages/[username]/[contractSlug].tsx +++ b/web/pages/[username]/[contractSlug].tsx @@ -42,6 +42,7 @@ import { } from 'web/components/contract/contract-leaderboard' import { ContractsGrid } from 'web/components/contract/contracts-grid' import { Title } from 'web/components/title' +import { usePrefetch } from 'web/hooks/use-prefetch' export const getStaticProps = fromPropz(getStaticPropz) export async function getStaticPropz(props: { @@ -157,6 +158,7 @@ export function ContractPageContent( const { backToHome, comments, user } = props const contract = useContractWithPreload(props.contract) ?? props.contract + usePrefetch(user?.id) useTracking('view market', { slug: contract.slug, diff --git a/web/pages/home.tsx b/web/pages/home.tsx index 265fd79a..5b6c445c 100644 --- a/web/pages/home.tsx +++ b/web/pages/home.tsx @@ -15,6 +15,7 @@ import { track } from 'web/lib/service/analytics' import { authenticateOnServer } from 'web/lib/firebase/server-auth' import { useSaveReferral } from 'web/hooks/use-save-referral' import { GetServerSideProps } from 'next' +import { usePrefetch } from 'web/hooks/use-prefetch' export const getServerSideProps: GetServerSideProps = async (ctx) => { const creds = await authenticateOnServer(ctx) @@ -30,6 +31,7 @@ const Home = (props: { auth: { user: User } | null }) => { useTracking('view home') useSaveReferral() + usePrefetch(user?.id) return ( <>