"use client" import Image from "next/image" import Link from "next/link" import { Cpu, Clock, TrendingUp, CheckCircle } from "lucide-react" import { motion } from "motion/react" import type { ContributionEntry } from "@/types/api" interface ContributionListProps { entries: ContributionEntry[] showViewAll?: boolean totalCount?: number } export function ContributionList({ entries, showViewAll = false, totalCount }: ContributionListProps) { if (entries.length === 0) { return (

No contributions yet

) } return (
{showViewAll && totalCount && totalCount > entries.length && (
Showing {entries.length} of {totalCount}
)} {entries.map((entry, i) => ( {entry.gameHeaderImage ? ( {entry.gameTitle} ) : (
)}

{entry.gameTitle}

{entry.hardwareName} {new Date(entry.createdAt).toLocaleDateString()}
{entry.fpsAvg.toFixed(0)} FPS
{entry.verifiedAt && (
Verified
)}
))}
) }