import Image from "next/image"; import { Artifacts } from "@/components/examples/artifacts"; import { ChatGPT } from "@/components/examples/chatgpt"; import { Claude } from "@/components/examples/claude"; import { Gemini } from "@/components/examples/gemini"; import { GenUI } from "@/components/examples/genui"; import { Grok } from "@/components/examples/grok"; import { ModalChat } from "@/components/examples/modal"; import { Perplexity } from "@/components/examples/perplexity"; import { Base } from "@/components/examples/base"; import { ArtifactsRuntimeProvider } from "@/contexts/ArtifactsRuntimeProvider"; import { DocsRuntimeProvider } from "@/contexts/DocsRuntimeProvider"; type PreviewData = { slug: string; title: string; description?: string | undefined; screenshotUrl: string; hasComponentPreview: boolean; }; export function ExamplePreview({ preview }: { preview: PreviewData }) { return (
{renderPreview(preview)}
); } function renderPreview(preview: PreviewData) { switch (preview.slug) { case "ai-sdk": return ( ); case "artifacts": return ( ); case "chatgpt": return ( ); case "claude": return ( ); case "gemini": return ( ); case "generative-ui": return ; case "grok": return ( ); case "modal": return ( ); case "perplexity": return ( ); default: return ; } } function ScreenshotPreview({ preview }: { preview: PreviewData }) { return (

{preview.title}

Screenshot preview

{preview.title}
); }