"use client"; import { motion } from "framer-motion"; import Link from "next/link"; import { Globe, Smartphone, ArrowLeft, Server } from "lucide-react"; import { use } from "react"; import { PROJECT_REGISTRY } from "@/data/projects"; const CATEGORY_META = { web: { title: "Web Systems", icon: , description: "Architecting scalable web applications and distributed systems.", }, mobile: { title: "Mobile Apps", icon: , description: "Building cross-platform experiences with Flutter and native integrations.", }, infrastructure: { title: "DevOps & Infrastructure", icon: , description: "Self-hosted systems architecture and automated deployment pipelines.", } }; export default function CategoryPage({ params }: { params: Promise<{ category: string }> }) { const resolvedParams = use(params); const category = resolvedParams.category; // 1. Get metadata for the header const meta = CATEGORY_META[category as keyof typeof CATEGORY_META]; // 2. Filter the registry to find projects belonging to this category const filteredProjects = PROJECT_REGISTRY.filter(p => p.category === category); if (!meta) { return (

404: Category Not Found

Return Home
); } return (
BACK TO DASHBOARD
{meta.icon}

{meta.title}

{meta.description}

{filteredProjects.map((project, index) => (

{project.title}

{project.description}

{project.stack.map(s => ( {s} ))}
))}
); }