Files
Cody Olsen 41019c2314 Update Sanity example for App Router (#63045)
This PR updates the `cms-sanity` example to use:
- App Router
- TypeScript
- Sanity Studio v3 instead of v2
- Embeds the Studio inside the next app on the `/studio` route.
- ISR / Data Cache (revalidations through `revalidatePath` while in Live
Visual Editing, time-based to match the Sanity API CDN in production).
- Support Vercel Visual Editing out of the box.
- The new `next-sanity/image` component.
- Vercel Speed Insights.
- The Sanity Presentation Tool for live content previews.
- Sanity Portable Text setup to fully support `@tailwindcss/typography`.
- [AI Assist](https://www.sanity.io/docs/ai-assist)
  - Auto fill in `alt` text on images.
  - Preset prompts for content creation
2024-03-10 19:49:18 -07:00

27 lines
836 B
TypeScript

import { ContentBlocks } from "./content-blocks";
import DateComponent from "./date";
import Avatar from "./avatar";
export default function PostBody({ content }) {
return (
<div className="prose lg:prose-xl mx-auto max-w-2xl">
<div className="mb-6 block md:hidden">
{content.author.length ? (
<Avatar
name={`${content.author[0].firstName} ${content.author[0].lastName}`}
picture={content.author[0].profilePhoto}
/>
) : null}
</div>
<div className="mb-6 text-lg">
{content.postingDate !== "now" ? (
<div className="mb-6 text-lg">
Posted <DateComponent dateString={content.postingDate} />
</div>
) : null}
</div>
<ContentBlocks content={content.blogContent.json.content} />
</div>
);
}