import React from "react"; import { ProviderInfo } from "../types/heatmap"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/tooltip"; interface OrganizationHeaderProps { provider: ProviderInfo; calendarKey: string; providerName: string; totalCount: number; } const OrganizationHeader: React.FC = ({ provider, calendarKey, providerName, totalCount, }) => { return (
{/* Organization Name & Stats Badge */}
{/* Avatar and Name Row */}
{/* Multi-author avatars and names */} {provider.authorsData && provider.authorsData.length > 1 ? (
{provider.authorsData.map((authorData, index) => ( {index > 0 && ( + )}
{`${authorData.fullName} { const target = e.target as HTMLImageElement; target.src = `https://ui-avatars.com/api/?name=${encodeURIComponent(authorData.fullName)}&background=random`; }} /> {authorData.isVerified && (
)}
{authorData.author}
))}
) : (
{provider.avatarUrl && (
{`${providerName} {provider.isVerified && (
)}
)}

{providerName}

)}
{/* Compact Organization Stats */}
{provider.authorsData && provider.authorsData.length > 1 ? (
{(provider.numModels || 0).toLocaleString()} models
{provider.authorsData.map(author => (
{author.author}: {author.numModels.toLocaleString()}
))}
) : (
{(provider.numModels || 0).toLocaleString()} models
)} {provider.authorsData && provider.authorsData.length > 1 ? (
{(provider.numDatasets || 0).toLocaleString()} datasets
{provider.authorsData.map(author => (
{author.author}: {author.numDatasets.toLocaleString()}
))}
) : (
{(provider.numDatasets || 0).toLocaleString()} datasets
)} {provider.authorsData && provider.authorsData.length > 1 ? (
{(provider.numSpaces || 0).toLocaleString()} spaces
{provider.authorsData.map(author => (
{author.author}: {author.numSpaces.toLocaleString()}
))}
) : (
{(provider.numSpaces || 0).toLocaleString()} spaces
)} {provider.authorsData && provider.authorsData.length > 1 ? (
{(provider.numFollowers || 0).toLocaleString()} followers
{provider.authorsData.map(author => (
{author.author}: {author.numFollowers.toLocaleString()}
))}
) : (
{(provider.numFollowers || 0).toLocaleString()} followers
)}
); }; export default OrganizationHeader;