Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions src/app/(standard)/cards/[modelId]/PerformanceSummaryStats.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
"use client"

import { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from '@/components/ui/tooltip';
import Icon from '@/components/ui/icon';

interface Props {
totalRuns: number;
totalBlueprints: number;
}

export default function PerformanceSummaryStats({ totalRuns, totalBlueprints }: Props) {
return (
<TooltipProvider delayDuration={200}>
<div className="space-y-3">
<div className="flex items-center justify-between">
<div className="flex items-center">
<Icon name="activity" className="h-3.5 w-3.5 text-muted-foreground mr-2" />
<Tooltip>
<TooltipTrigger className="flex items-center gap-1 text-sm cursor-help underline-offset-4 hover:underline decoration-dotted">
Runs
<Icon name="info" className="h-3 w-3 text-muted-foreground" />
</TooltipTrigger>
<TooltipContent>
Number of times this model was evaluated across all blueprints
</TooltipContent>
</Tooltip>
</div>
<span className="font-medium">{totalRuns}</span>
</div>
<div className="flex items-center justify-between">
<div className="flex items-center">
<Icon name="users" className="h-3.5 w-3.5 text-muted-foreground mr-2" />
<Tooltip>
<TooltipTrigger className="flex items-center gap-1 text-sm cursor-help underline-offset-4 hover:underline decoration-dotted">
Blueprints
<Icon name="info" className="h-3 w-3 text-muted-foreground" />
</TooltipTrigger>
<TooltipContent>
Distinct evaluation blueprints/configs this model was tested on
</TooltipContent>
</Tooltip>
</div>
<span className="font-medium">{totalBlueprints}</span>
</div>
</div>
</TooltipProvider>
);
}
39 changes: 5 additions & 34 deletions src/app/(standard)/cards/[modelId]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import Link from 'next/link';
import Icon, { type IconName } from '@/components/ui/icon';
import ResponseRenderer from '@/app/components/ResponseRenderer';
import RemarkGfmPlugin from 'remark-gfm';
import { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from '@/components/ui/tooltip';
import PerformanceSummaryStats from './PerformanceSummaryStats';

// Shared formatters
const formatPercent = (value?: number | null, fractionDigits = 1): string => {
Expand Down Expand Up @@ -285,41 +285,13 @@ export default async function ModelCardPage({ params }: ModelCardPageProps) {

{/* Right Column - Stats & Metadata (Secondary) */}
<div className="lg:w-80 bg-muted/10 border-t lg:border-t-0 lg:border-l border-border p-6 lg:sticky lg:top-4 self-start">
<TooltipProvider>

{/* Quick Stats */}
<div className="mb-6">
<h3 className="font-medium text-sm text-muted-foreground mb-3">Performance Summary</h3>
<div className="space-y-3">
<div className="flex items-center justify-between">
<div className="flex items-center">
<Icon name="activity" className="h-3.5 w-3.5 text-muted-foreground mr-2" />
<Tooltip>
<TooltipTrigger asChild>
<span className="text-sm cursor-help">Runs</span>
</TooltipTrigger>
<TooltipContent>
Number of times this model was evaluated across all blueprints
</TooltipContent>
</Tooltip>
</div>
<span className="font-medium">{modelCard.overallStats.totalRuns}</span>
</div>
<div className="flex items-center justify-between">
<div className="flex items-center">
<Icon name="users" className="h-3.5 w-3.5 text-muted-foreground mr-2" />
<Tooltip>
<TooltipTrigger asChild>
<span className="text-sm cursor-help">Blueprints</span>
</TooltipTrigger>
<TooltipContent>
Distinct evaluation blueprints/configs this model was tested on
</TooltipContent>
</Tooltip>
</div>
<span className="font-medium">{modelCard.overallStats.totalBlueprints}</span>
</div>
</div>
<PerformanceSummaryStats
totalRuns={modelCard.overallStats.totalRuns}
totalBlueprints={modelCard.overallStats.totalBlueprints}
/>
</div>

{/* Top Dimensional Performance */}
Expand Down Expand Up @@ -496,7 +468,6 @@ export default async function ModelCardPage({ params }: ModelCardPageProps) {
<div className="text-center">
<div className="text-xs text-muted-foreground">Updated {new Date(modelCard.lastUpdated).toLocaleDateString()}</div>
</div>
</TooltipProvider>
</div>
</div>
</div>
Expand Down