export const articleRouter = createTRPCRouter({
getById: publicProcedure.input(z.string()).query(async ({ ctx, input }) => {
const x = await ctx.prisma.article.findFirst({
where: {
id: input,
},
});
return x;
}),
});const article = api.article.getById.useQuery("clkem2k2m0000uf2klvuu7bfl");
...
<ArticleCard color="blue" article={article} />import { Article } from "@prisma/client";
export interface ArticleProps {
article: Article;
color: string;
}
export default function ArticleCard(props: ArticleProps) {
return (
<>
<Typography variant="h3" className="text-blue-500">
{props.article.title} Yay! {props.color}
</Typography>
{props.article?.subtitle ? (
<Typography variant="h5">{props.article?.subtitle}</Typography>
) : (
<></>
)}
<Typography variant="body1">{props.article.content}</Typography>
</>
);
}model Article {
id String @id @default(cuid())
organizationId String
title String
subtitle String?
content String @db.Text
publishDate DateTime?
endDate DateTime?
}