From 029cd82f1ae626187f8d2a65d1f3d9659ec3ba2a Mon Sep 17 00:00:00 2001 From: Vectry Date: Mon, 9 Feb 2026 17:43:30 +0000 Subject: [PATCH] Link featured examples to pre-generated docs with View Docs buttons --- apps/web/src/app/page.tsx | 8 ++++- apps/web/src/components/example-repo-card.tsx | 34 +++++++++++++++---- 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/apps/web/src/app/page.tsx b/apps/web/src/app/page.tsx index 35968f3..2aacf78 100644 --- a/apps/web/src/app/page.tsx +++ b/apps/web/src/app/page.tsx @@ -79,36 +79,42 @@ export default function HomePage() { description: "Elegant promise concurrency limiter with a simple API and robust error handling.", language: "TypeScript", languageColor: "#3178c6", + docId: "gen_1770657487236_d9id1pm", }, { name: "expressjs/express", description: "Fast, unopinionated web framework for Node.js with minimalistic design.", language: "JavaScript", languageColor: "#f1e05a", + docId: "gen_1770657496293_1hcn3m1", }, { name: "pallets/flask", description: "Lightweight Python web framework with simplicity and flexibility at its core.", language: "Python", languageColor: "#3572A5", + docId: "gen_1770657494422_mabt20p", }, { name: "colinhacks/zod", description: "TypeScript-first schema validation with static type inference.", language: "TypeScript", languageColor: "#3178c6", + docId: "gen_1770657488091_5hxoyyk", }, { name: "tiangolo/fastapi", description: "Modern, high-performance Python API framework with automatic OpenAPI docs.", language: "Python", languageColor: "#3572A5", + docId: "gen_1770657495398_10wi8js", }, { name: "redis/node-redis", description: "High-performance Redis client for Node.js with comprehensive feature support.", language: "TypeScript", languageColor: "#3178c6", + docId: "gen_1770657489049_vxw35dn", }, ]; @@ -333,7 +339,7 @@ export default function HomePage() { Featured Examples

- Click any repository to instantly generate documentation + Pre-generated docs ready to explore — or paste any repo URL above

diff --git a/apps/web/src/components/example-repo-card.tsx b/apps/web/src/components/example-repo-card.tsx index e4a7201..a93462b 100644 --- a/apps/web/src/components/example-repo-card.tsx +++ b/apps/web/src/components/example-repo-card.tsx @@ -2,13 +2,14 @@ import { useState } from "react"; import { useRouter } from "next/navigation"; -import { ArrowRight, Loader2 } from "lucide-react"; +import { ArrowRight, Loader2, BookOpen } from "lucide-react"; interface ExampleRepo { name: string; description: string; language: string; languageColor: string; + docId?: string; } interface ExampleRepoCardProps { @@ -19,7 +20,12 @@ export function ExampleRepoCard({ repo }: ExampleRepoCardProps) { const [isLoading, setIsLoading] = useState(false); const router = useRouter(); - const handleGenerate = async () => { + const handleClick = async () => { + if (repo.docId) { + router.push(`/docs/${repo.docId}`); + return; + } + const repoUrl = `https://github.com/${repo.name}`; setIsLoading(true); @@ -61,6 +67,12 @@ export function ExampleRepoCard({ repo }: ExampleRepoCardProps) { /> {repo.language} + {repo.docId && ( + + + Ready + + )}

@@ -72,18 +84,26 @@ export function ExampleRepoCard({ repo }: ExampleRepoCardProps) {