import initializeApollo from '@/apollo/client'; import * as Calculation from '@/Components/Calculation'; import { Error } from '@/Components/Common/Error'; import * as hooks from '@/process/hooks'; import { getPageTitle } from '@/utils/page'; import { makeGetUserType } from '@/utils/user'; import { dehydrate, QueryClient } from '@tanstack/react-query'; import Head from 'next/head'; function Content() { hooks.useSentryScope(); hooks.useMainData(); hooks.useInsuranceData(); hooks.useReactions(); return ( {getPageTitle()} ); } export default function Page(props) { if (props.statusCode !== 200) return ; return ; } /** @type {import('next').GetServerSideProps} */ export async function getServerSideProps({ req }) { const { cookie = '' } = req.headers; const queryClient = new QueryClient(); const apolloClient = initializeApollo(); const getUserType = makeGetUserType({ apolloClient, queryClient }); try { const user = await getUserType({ cookie }); if (!user.default) { return { props: { initialQueryState: dehydrate(queryClient), statusCode: 403, }, }; } return { props: { calculation: {}, initialApolloState: apolloClient.cache.extract(), initialQueryState: dehydrate(queryClient), statusCode: 200, user, }, }; } catch (error) { return { props: { error: JSON.stringify(error), initialQueryState: dehydrate(queryClient), statusCode: 500, }, }; } }