import { Badge } from '@thedaviddias/design-system/badge' import Link from 'next/link' import { LLMButton } from '@/components/buttons/llm-button' import { FaviconWithFallback } from '@/components/ui/favicon-with-fallback' import { getRoute } from '@/lib/routes' import { stripHtmlTags } from '@/lib/utils' interface ProjectListProps { items: Array<{ slug: string name: string description: string website: string llmsUrl: string llmsFullUrl?: string | null category?: string isUnofficial?: boolean }> } /** * Displays a list of projects with metadata and action buttons * @param props - The component props * @returns React component that renders project cards */ export function ProjectList({ items = [] }: ProjectListProps) { if (!items?.length) { return null } return (
{items.map(item => { if (!item?.slug) return null return (

{item.name}

{item.isUnofficial && ( Unofficial )}

{stripHtmlTags(item.description)}

{item.llmsFullUrl && ( )} {item.category && ( {item.category} )}
) })}
) }