2022-04-28 18:17:24 +03:00

29 lines
783 B
TypeScript

import { NormalizedCacheObject } from '@apollo/client';
import { initializeApollo } from 'apollo/client';
import type { GetServerSideProps, NextPage } from 'next';
import { fetchUser } from 'services/user';
import type { User } from 'services/user/types';
interface PageProps {
user: User;
initialApolloState: NormalizedCacheObject;
}
const Home: NextPage<PageProps> = () => {
return <div>Home</div>;
};
export const getServerSideProps: GetServerSideProps<PageProps> = async ctx => {
const user = await fetchUser({
headers: ctx?.req?.headers?.cookie
? { cookie: ctx.req.headers.cookie }
: undefined,
});
const apolloClient = initializeApollo();
return { props: { user, initialApolloState: apolloClient.cache.extract() } };
};
export default Home;