/**
* Documentation Hub
* Central hub for all design system documentation
* Access: /dev/docs
*/
import { Link } from '@/lib/i18n/routing';
import {
BookOpen,
Sparkles,
Layout,
Palette,
Code2,
FileCode,
Accessibility,
Lightbulb,
Search,
} from 'lucide-react';
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
import { Button } from '@/components/ui/button';
import { Badge } from '@/components/ui/badge';
import { DevBreadcrumbs } from '@/components/dev/DevBreadcrumbs';
interface DocItem {
title: string;
description: string;
href: string;
icon: React.ReactNode;
badge?: string;
}
const gettingStartedDocs: DocItem[] = [
{
title: 'Quick Start',
description: '5-minute crash course to get up and running with the design system',
href: '/dev/docs/design-system/00-quick-start',
icon: ,
badge: 'Start Here',
},
{
title: 'README',
description: 'Complete overview and learning paths for the design system',
href: '/dev/docs/design-system/README',
icon: ,
},
];
const coreConceptsDocs: DocItem[] = [
{
title: 'Foundations',
description: 'Colors (OKLCH), typography, spacing, and shadows',
href: '/dev/docs/design-system/01-foundations',
icon: ,
},
{
title: 'Components',
description: 'shadcn/ui component library guide and usage patterns',
href: '/dev/docs/design-system/02-components',
icon: ,
},
{
title: 'Layouts',
description: 'Layout patterns with Grid vs Flex decision trees',
href: '/dev/docs/design-system/03-layouts',
icon: ,
},
{
title: 'Spacing Philosophy',
description: 'Parent-controlled spacing strategy and best practices',
href: '/dev/docs/design-system/04-spacing-philosophy',
icon: ,
},
{
title: 'Component Creation',
description: 'When to create vs compose components',
href: '/dev/docs/design-system/05-component-creation',
icon: ,
},
{
title: 'Forms',
description: 'Form patterns with react-hook-form and Zod validation',
href: '/dev/docs/design-system/06-forms',
icon: ,
},
{
title: 'Accessibility',
description: 'WCAG AA compliance, keyboard navigation, and screen readers',
href: '/dev/docs/design-system/07-accessibility',
icon: ,
},
];
const referencesDocs: DocItem[] = [
{
title: 'AI Guidelines',
description: 'Rules and best practices for AI code generation',
href: '/dev/docs/design-system/08-ai-guidelines',
icon: ,
badge: 'AI',
},
{
title: 'Quick Reference',
description: 'Cheat sheet for quick lookups and common patterns',
href: '/dev/docs/design-system/99-reference',
icon: ,
},
];
export default function DocsHub() {
return (
{/* Breadcrumbs */}
{/* Hero Section */}
Design System Documentation
Comprehensive guides, best practices, and references for building consistent,
accessible, and maintainable user interfaces with the FastNext design system.
{/* Main Content */}
{/* Getting Started Section */}
Getting Started
New to the design system? Start here for a quick introduction.
{gettingStartedDocs.map((doc) => (
{doc.icon}
{doc.title}
{doc.badge && (
{doc.badge}
)}
{doc.description}
))}
{/* Core Concepts Section */}
Core Concepts
Deep dive into the fundamental concepts and patterns of the design system.
{coreConceptsDocs.map((doc) => (
{doc.icon}
{doc.title}
{doc.description}
))}
{/* References Section */}
References
Quick references and specialized guides for specific use cases.