'use client'; import { motion } from 'framer-motion'; import { ExternalLink } from 'lucide-react'; import type { UniprotSummary } from '@/types/pipeline'; import { fadeUp, cardHover } from '@/lib/animations'; interface UniprotPanelProps { data: UniprotSummary | null; } export function UniprotPanel({ data }: UniprotPanelProps) { if (!data) return null; return (

{data.full_name}

{data.accession} {data.organism}
UniProt
{data.gene_names?.length > 0 && (

Gene

{data.gene_names.map(g => {g})}
)} {data.subcellular_locations?.length > 0 && (

Location

{data.subcellular_locations.map(loc => {loc})}
)}
{data.keywords?.length > 0 && (

Keywords

{data.keywords.map(kw => {kw})}
)}
{data.functions?.length > 0 && (

Function

{data.functions.map((f, fi) =>

{f}

)}
)} {data.features?.length > 0 && (

Active Sites & Features

{data.features.map((f, fi) => (
{f.type}: {f.description} {(f.begin || f.end) && ({f.begin}–{f.end})}
))}
)}
); }