import PageTransition from "@/components/PageTransition"; import { Button } from "@/components/ui/button"; import { useProjects } from "@/hooks/queires/useProjects"; import { AnimatePresence, motion } from "framer-motion"; import { ArrowLeft, Brain, Cloud, ExternalLink, Github, Globe, Smartphone, Workflow, } from "lucide-react"; import { useState } from "react"; import { Link } from "react-router-dom"; const categories = [ { id: "all", name: "All Projects", icon: null }, { id: "web", name: "Web", icon: Globe }, { id: "mobile", name: "Mobile", icon: Smartphone }, { id: "ai", name: "AI", icon: Brain }, { id: "cloud", name: "Cloud", icon: Cloud }, { id: "devops", name: "DEVOPS", icon: Workflow }, ]; const containerVariants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.1, }, }, }; const itemVariants = { hidden: { opacity: 0, y: 30 }, visible: { opacity: 1, y: 0, transition: { duration: 0.5, ease: "easeOut" as const }, }, }; export default function Projects() { const { data: projectsData } = useProjects(); const projects = projectsData?.data.data.result; const [activeCategory, setActiveCategory] = useState("all"); const filteredProjects = activeCategory === "all" ? projects : projects?.filter((project) => project.category === activeCategory); return (
{/* Hero Section */}
{/* Back Button */} {/* Header */}

Our{" "} Projects

Explore our portfolio of innovative solutions that have transformed businesses across industries.

{/* Filter Tabs */} {categories?.map((category) => { const Icon = category.icon; return ( ); })}
{/* Projects Grid */}
{filteredProjects?.map((project) => ( {/* Image */}
{project.title}
{/* Category Badge */}
{ categories.find((c) => c.id === project.category) ?.name }
{/* Quick Links */}
{/* Content */}
{/* Meta */}
{project.client} {project.year}
{/* Title */}

{project.title}

{/* Description */}

{project.description}

{/* Technologies */}
{project?.technologies.map((tech) => ( {tech} ))}
))} {/* Empty State */} {filteredProjects?.length === 0 && (

No projects found in this category.

)}
); }