"use client"; import React, { useState } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { Snippet } from "@/lib/directus"; import { X, Copy, Check, Hash } from "lucide-react"; export default function SnippetsClient({ initialSnippets }: { initialSnippets: Snippet[] }) { const [selectedSnippet, setSelectedSnippet] = useState(null); const [copied, setCopied] = useState(false); const copyToClipboard = (code: string) => { navigator.clipboard.writeText(code); setCopied(true); setTimeout(() => setCopied(false), 2000); }; return ( <>
{initialSnippets.map((s, i) => ( setSelectedSnippet(s)} className="text-left bg-white dark:bg-stone-900 rounded-[2.5rem] p-10 border border-stone-200/60 dark:border-stone-800/60 shadow-sm hover:shadow-xl hover:border-liquid-purple/40 transition-all group" >
{s.category}

{s.title}

{s.description}

))}
{/* Snippet Modal */} {selectedSnippet && (
setSelectedSnippet(null)} className="absolute inset-0 bg-stone-950/60 backdrop-blur-md" />

{selectedSnippet.category}

{selectedSnippet.title}

{selectedSnippet.description}

                    {selectedSnippet.code}
                  
)}
); }