"use client"; import { motion, useInView } from "framer-motion"; import { ExternalLink, Github } from "lucide-react"; import Image from "next/image"; import { useRef } from "react"; const projects = [ { title: "Portfolio", description: "Portfolio moderne et interactif avec animations fluides et design épuré.", tags: ["Next.js", "TypeScript", "TailwindCSS"], link: "/", github: "https://github.com/jessy-david-dev/jessy-david.dev", }, { title: "ultralion.xyz", description: "Portfolio professionnel et moderne pour UltraLion avec design épuré et optimisé.", tags: ["Next.js", "TypeScript", "TailwindCSS"], link: "https://v1.jessy-david.dev", }, { title: "Radio Box", description: "Bot Discord permettant d'écouter des web radios dans un salon vocal avec interface intuitive.", tags: ["Discord.js", "JavaScript", "Prisma"], link: "https://radio-box.app", }, { title: "QuantumCraft Studios", description: "Plateforme d'hébergement de serveurs de jeux avec panel d'administration complet.", tags: ["Next.js", "TypeScript", "TailwindCSS"], link: "https://quantumcraft-studios.com", }, { title: "bôba là", description: "Application web de fidélité client avec système de points.", tags: ["Next.js", "TypeScript", "TailwindCSS"], link: "https://fidelite.boba-la.fr", collaborators: [ { name: "Philippe", github: "https://github.com/PHlLlPPE", avatar: "https://github.com/PHlLlPPE.png", }, ], }, ]; export default function Projects() { const ref = useRef(null); const isInView = useInView(ref, { once: false, amount: 0.2 }); const containerVariants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.1, }, }, }; const itemVariants = { hidden: { opacity: 0, y: 20 }, visible: { opacity: 1, y: 0, transition: { duration: 0.5 }, }, }; return (
{/* Header */}

Mes Projets

Une sélection de mes réalisations récentes

{/* Projects Grid - 2 colonnes */} {projects.map((project, index) => (
{/* Card content */}
{/* Title */}

{project.title}

{/* Description */}

{project.description}

{/* Tags */}
{project.tags.map((tag) => ( {tag} ))}
{/* Collaborators */} {project.collaborators && project.collaborators.length > 0 && (
{project.collaborators.map((collab, idx) => (
{collab.name}
{collab.name}
))}
)} {/* Links */}
Voir {project.github && ( )}
))}
); }