"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}
))}
))}
);
}