"use client" import { useState } from "react" import Link from "next/link" import { Card, CardContent, CardHeader } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { cn } from "@/lib/utils" export type Project = { title: string slug: string category: string description: string tags: string[] gradient?: string emoji?: string imageUrl?: string | null } const categories = ["All", "Web", "Mobile", "Design", "SEO"] export function ProjectGallery({ projects }: { projects: Project[] }) { const [active, setActive] = useState("All") const filtered = active === "All" ? projects : projects.filter((p) => p.category === active) return (
{/* Filter tabs */}
{categories.map((cat) => ( ))}
{/* Project grid */}
{filtered.map((project, i) => (
{/* Thumbnail */}
{project.imageUrl ? ( {project.title} ) : (
{project.emoji || '🚀'}
)}

{project.category}

{project.title}

{project.description}

{/* Technology tags (SF-015) */}
{project.tags.map((tag) => ( {tag} ))}
))}
{filtered.length === 0 && (

No projects in this category yet. Check back soon!

)}
) }