import React from 'react'; import { motion } from 'framer-motion'; import { Globe, Code2, Image as ImageIcon, Heading, FileText, Tag, ChevronDown, ChevronUp } from 'lucide-react'; import { useState } from 'react'; export const MetadataPanel = ({ metadata }) => { const [isExpanded, setIsExpanded] = useState(false); if (!metadata || Object.keys(metadata).length === 0) return null; const items = [ { icon: , label: 'Title', value: metadata.title }, { icon: , label: 'Description', value: metadata.meta_description }, { icon: , label: 'Generator', value: metadata.generator }, { icon: , label: 'Frameworks', value: metadata.detected_frameworks?.join(', ') }, { icon: , label: 'Headings', value: metadata.heading_count?.toString() }, { icon: , label: 'Images', value: metadata.image_count?.toString() }, { icon: , label: 'Page Size', value: metadata.page_size_kb ? `${metadata.page_size_kb} KB` : null }, ].filter(item => item.value); if (items.length === 0) return null; return ( setIsExpanded(!isExpanded)} className="w-full flex items-center justify-between p-3 bg-gray-50 border-b-2 border-brutalist-black font-black text-sm uppercase hover:bg-gray-100 transition-colors" > Site Metadata {isExpanded ? : } {isExpanded && ( {items.map((item, idx) => ( {item.icon} {item.label} {item.value} ))} {/* OG Tags */} {metadata.og_tags && Object.keys(metadata.og_tags).length > 0 && ( Open Graph Tags {Object.entries(metadata.og_tags).map(([key, value]) => ( {key}: {value} ))} )} )} ); };