import { ReactNode, useMemo, memo } from 'react' import { Badge } from '@janhq/joi' import { useAtomValue } from 'jotai' import { Download } from 'lucide-react' import { importingHuggingFaceRepoDataAtom } from '@/helpers/atoms/HuggingFace.atom' const ModelSegmentInfo = () => { const importingHuggingFaceRepoData = useAtomValue( importingHuggingFaceRepoDataAtom ) const { author, modelName, downloads, modelUrl } = useMemo(() => { const cardData = importingHuggingFaceRepoData?.cardData const author = (cardData?.['model_creator'] ?? 'N/A') as string const modelName = (cardData?.['model_name'] ?? importingHuggingFaceRepoData?.id ?? 'N/A') as string const modelUrl = importingHuggingFaceRepoData?.modelUrl ?? 'N/A' const downloads = importingHuggingFaceRepoData?.downloads ?? 0 return { author, modelName, modelUrl, downloads, } }, [importingHuggingFaceRepoData]) if (!importingHuggingFaceRepoData) return null return (

{modelName}

{modelUrl}

{author}

{downloads}
{importingHuggingFaceRepoData.tags.map((tag) => ( {tag} ))}
) } type HeaderInfoProps = { title: string children: ReactNode } const HeaderInfo = ({ title, children }: HeaderInfoProps) => { return (

{title}

{children}
) } export default memo(ModelSegmentInfo)