import React from "react"
import { createServerSideHelpers } from '@trpc/react-query/server'
import { api } from "~/utils/api"
import { jobRouter } from "~/server/api/routers/job"
import { createInnerTRPCContext } from "~/server/api/trpc"
import { GetStaticPropsContext, InferGetStaticPropsType } from "next"
import { Menu, Head, Footer, JobCard } from "~/components"
import SuperJSON from "superjson"
export default function Home(props: InferGetStaticPropsType<typeof getStaticProps>) {
const { data: jobs } = api.job.getAll.useQuery()
return (
<div className="min-h-screen flex flex-col justify-between">
<Head />
<main>
<Menu />
<div className="mt-18 p-4 flex flex-col gap-4">
{jobs?.map((job) => (<JobCard key={job.id} title={job.title} companyName={job.company.name} companyLogo={job.company.logoUrl} />))}
</div>
</main>
<Footer />
</div>
)
}
export const getStaticProps = async (context: GetStaticPropsContext) => {
const helpers = createServerSideHelpers({
router: jobRouter,
ctx: createInnerTRPCContext({ session: null }),
transformer: SuperJSON
})
await helpers.getAll.prefetch()
return {
props: {
trpcState: helpers.dehydrate(),
},
}
}
import React from "react"
import { createServerSideHelpers } from '@trpc/react-query/server'
import { api } from "~/utils/api"
import { jobRouter } from "~/server/api/routers/job"
import { createInnerTRPCContext } from "~/server/api/trpc"
import { GetStaticPropsContext, InferGetStaticPropsType } from "next"
import { Menu, Head, Footer, JobCard } from "~/components"
import SuperJSON from "superjson"
export default function Home(props: InferGetStaticPropsType<typeof getStaticProps>) {
const { data: jobs } = api.job.getAll.useQuery()
return (
<div className="min-h-screen flex flex-col justify-between">
<Head />
<main>
<Menu />
<div className="mt-18 p-4 flex flex-col gap-4">
{jobs?.map((job) => (<JobCard key={job.id} title={job.title} companyName={job.company.name} companyLogo={job.company.logoUrl} />))}
</div>
</main>
<Footer />
</div>
)
}
export const getStaticProps = async (context: GetStaticPropsContext) => {
const helpers = createServerSideHelpers({
router: jobRouter,
ctx: createInnerTRPCContext({ session: null }),
transformer: SuperJSON
})
await helpers.getAll.prefetch()
return {
props: {
trpcState: helpers.dehydrate(),
},
}
}