{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "project-card-shadcnui", "type": "registry:component", "title": "Project Card", "description": "Glassmorphism project card with links, tags, and hover effects", "dependencies": [ "framer-motion", "react" ], "files": [ { "path": "@uitripled/react-shadcn/src/components/components/cards/shadcnui/project-card.tsx", "content": "\"use client\";\n\nimport { Badge } from \"@/components/ui/badge\";\nimport { Card } from \"@/components/ui/card\";\nimport { cn } from \"@/lib/utils\";\nimport { motion } from \"framer-motion\";\nimport { ExternalLink, Github } from \"lucide-react\";\n\ninterface ProjectCardProps {\n title?: string;\n description?: string;\n tags?: string[];\n image?: string;\n links?: {\n demo?: string;\n github?: string;\n };\n className?: string;\n}\n\nconst defaultProject = {\n title: \"E-Commerce Platform\",\n description:\n \"Full-stack online store with payment integration and inventory management\",\n tags: [\"React\", \"Node.js\", \"PostgreSQL\", \"Stripe\"],\n image:\n \"https://images.unsplash.com/photo-1661956602116-aa6865609028?w=800&q=80\",\n links: { demo: \"#\", github: \"#\" },\n};\n\nexport function ProjectCard({\n title = defaultProject.title,\n description = defaultProject.description,\n tags = defaultProject.tags,\n image = defaultProject.image,\n links = defaultProject.links,\n className,\n}: ProjectCardProps) {\n return (\n \n \n
\n \n
\n\n
\n {links?.demo && (\n \n \n \n )}\n {links?.github && (\n \n \n \n )}\n
\n
\n\n
\n

\n {title}\n

\n

\n {description}\n

\n
\n {tags?.map((tag, index) => (\n \n {tag}\n \n ))}\n
\n
\n \n \n );\n}\n", "type": "registry:component", "target": "components/uitripled/project-card-shadcnui.tsx" } ] }