diff --git a/apps/docs/app/(home)/layout.tsx b/apps/docs/app/(home)/layout.tsx index 3f85ff009..73248bc04 100644 --- a/apps/docs/app/(home)/layout.tsx +++ b/apps/docs/app/(home)/layout.tsx @@ -41,6 +41,7 @@ function Footer(): React.ReactElement {

Product

Documentation + Showcase Examples Blog
diff --git a/apps/docs/app/(home)/showcase/page.tsx b/apps/docs/app/(home)/showcase/page.tsx new file mode 100644 index 000000000..d93553935 --- /dev/null +++ b/apps/docs/app/(home)/showcase/page.tsx @@ -0,0 +1,101 @@ +import { + ChevronDown, + Code, + MessageSquare, + Pen, + Settings2, + Sparkles, +} from "lucide-react"; +import Image from "next/image"; + +import { Card } from "@/components/ui/card"; + +export default function Component() { + return ( +
+
+
+
+ COMMUNITY SHOWCASE +
+

+ Built with +
+ assistant-ui +

+
+
+ + + +
+
+
+ ); +} + +function ShowcaseCard({ + title, + image, + tag, + secondaryTag, + link, + description, +}: { + title: string; + image: string; + tag: string; + secondaryTag?: string; + link: string; + description?: string; +}) { + return ( + + +
+ {title} +
+
+
+

{title}

+
+ + {tag} + + {secondaryTag && ( + + {secondaryTag} + + )} +
+
+

{description}

+
+
+
+ ); +} diff --git a/apps/docs/app/docs/layout.config.tsx b/apps/docs/app/docs/layout.config.tsx index c497ad7b8..0b1a4c003 100644 --- a/apps/docs/app/docs/layout.config.tsx +++ b/apps/docs/app/docs/layout.config.tsx @@ -1,5 +1,11 @@ import { pageTree } from "@/app/source"; -import { BookIcon, LayoutTemplateIcon, NewspaperIcon } from "lucide-react"; +import { + BookIcon, + LayoutTemplateIcon, + NewspaperIcon, + ProjectorIcon, + SparklesIcon, +} from "lucide-react"; import icon from "@/public/favicon/icon.svg"; import Image from "next/image"; import { DocsLayoutProps } from "fumadocs-ui/layouts/docs"; @@ -43,10 +49,15 @@ export const baseOptions: HomeLayoutProps = { icon: , active: "nested-url", }, + { + text: "Showcase", + url: "/showcase", + icon: , + }, { text: "Examples", url: "/examples", - icon: , + icon: , }, { text: "Blog", diff --git a/apps/docs/components/ui/card.tsx b/apps/docs/components/ui/card.tsx new file mode 100644 index 000000000..cabfbfc59 --- /dev/null +++ b/apps/docs/components/ui/card.tsx @@ -0,0 +1,76 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +const Card = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +Card.displayName = "Card" + +const CardHeader = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +CardHeader.displayName = "CardHeader" + +const CardTitle = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +CardTitle.displayName = "CardTitle" + +const CardDescription = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +CardDescription.displayName = "CardDescription" + +const CardContent = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +CardContent.displayName = "CardContent" + +const CardFooter = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)) +CardFooter.displayName = "CardFooter" + +export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } diff --git a/apps/docs/public/screenshot/closing-wtf.png b/apps/docs/public/screenshot/closing-wtf.png new file mode 100644 index 000000000..4aded9cff Binary files /dev/null and b/apps/docs/public/screenshot/closing-wtf.png differ diff --git a/apps/docs/public/screenshot/entelligence.png b/apps/docs/public/screenshot/entelligence.png new file mode 100644 index 000000000..93ccaf281 Binary files /dev/null and b/apps/docs/public/screenshot/entelligence.png differ diff --git a/apps/docs/public/screenshot/helicone.png b/apps/docs/public/screenshot/helicone.png new file mode 100644 index 000000000..752e55218 Binary files /dev/null and b/apps/docs/public/screenshot/helicone.png differ