diff --git a/src/pages/resources/[id]/edit.tsx b/src/pages/resources/[id]/edit.tsx index a985821..8359009 100644 --- a/src/pages/resources/[id]/edit.tsx +++ b/src/pages/resources/[id]/edit.tsx @@ -1,10 +1,89 @@ +import { XCircleIcon } from "@heroicons/react/20/solid"; +import { type AuditoryResource } from "@prisma/client"; +import { createServerSideHelpers } from "@trpc/react-query/server"; +import { + type GetServerSideProps, + type InferGetServerSidePropsType, +} from "next"; import Footer from "~/components/Footer"; import Header from "~/components/Header"; +import { ResourceInfo, ResourceDescription } from "~/components/ResourceTable"; +import { AdminBarLayout } from "~/components/admin/ControlBar"; +import { AdminActionLink } from "~/components/admin/common"; +import { appRouter } from "~/server/api/root"; +import { prisma } from "~/server/db"; + +export const getServerSideProps: GetServerSideProps<{ + resource: AuditoryResource; +}> = async (context) => { + const helpers = createServerSideHelpers({ + router: appRouter, + ctx: { + prisma, + session: null, + }, + }); + + const id = context.params?.id as string; + + const resource = await helpers.auditoryResource.byId.fetch({ id }); + + return { + props: { + resource, + }, + }; +}; + +const EditResourcePage = ( + props: InferGetServerSidePropsType +) => { + const { resource } = props; -const EditResourcePage = () => { return ( <>
+ } + label="Save" + href={`/resources/${resource.id}`} + />, + } + label="Cancel" + href={`/resources/${resource.id}`} + />, + ]} + > +
+
+
+
+

Links

+
+
+
+ +
+ +
+
+ + Ages {resource.ages.min} + {resource.ages.max >= 100 ? "+" : `-${resource.ages.max}`} + +
+
+
+
+