mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
41019c2314
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
27 lines
836 B
TypeScript
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>
|
|
);
|
|
}
|