import { trpc } from "~/app/_trpc/Client" import { Card, CardContent, CardFooter, CardHeader, CardTitle } from "~/components/ui/card" import { Skeleton } from "~/components/ui/skeleton" import { cn, type Defined } from "~/lib/utils" import Markdown from 'react-markdown' import { format } from 'date-fns' import rehypeHighlight from 'rehype-highlight' import rehypeRaw from 'rehype-raw' import type { RouterOutputs } from "~/server/routers/_app" import type { ArrayElement } from "type-fest" export default function CvEntry(params: { initialData: ArrayElement['cvEntry']>, className?: string }) { const query = trpc.entryv2.getById.useQuery(params.initialData.id); const { data, isError, error } = query return ( <> { data ? <> { data.title ? {data.title} : <> } { data.description ?
{data.description}
: <> } { !data.hideDates ? {`von ${format((new Date()).setTime(Date.parse(data.fromTime)), 'M. yyyy')} bis zum ${format((new Date()).setTime(Date.parse(data.toTime)), 'M. yyyy')}`} : <> }
: <>
-
} ) }