import { useState } from 'react'
import { team } from '@/data/team'
/* ─── derived stats ──────────────────────────────────────── */
const totalReports = team.reduce((sum, m) => sum + m.reportCount, 0)
const memberCount = team.length
const combinedYears = 85
/* ─── member card ────────────────────────────────────────── */
function MemberCard({ member }: { member: (typeof team)[0] }) {
const [hovered, setHovered] = useState(false)
const [bioExpanded, setBioExpanded] = useState(false)
return (
setHovered(true)}
onMouseLeave={() => setHovered(false)}
>
{/* card header */}
{/* initial avatar */}
{member.initial}
{member.name}
{member.role}
{/* bio */}
{member.bio}
{!bioExpanded && member.bio.length > 120 && (
)}
{/* expertise tags */}
{member.expertise.map((tag) => (
{tag}
))}
{/* footer: report count + email */}
{member.reportCount.toLocaleString('fa-IR')}
گزارش منتشرشده
{member.email && (
{member.email}
)}
)
}
/* ─── main component ─────────────────────────────────────── */
export default function Team() {
return (
{/* ─── Section header ────────────────────────────────── */}
تیم تحریریه
متخصصان برجسته صنعت فولاد ایران
{/* ─── Stats row ─────────────────────────────────────── */}
{[
{ value: totalReports.toLocaleString('fa-IR'), label: 'گزارش منتشرشده' },
{ value: memberCount.toLocaleString('fa-IR'), label: 'عضو تحریریه' },
{ value: `${combinedYears.toLocaleString('fa-IR')} سال`, label: 'تجربه ترکیبی' },
].map((stat, i) => (
{stat.value}
{stat.label}
))}
{/* ─── Member grid ───────────────────────────────────── */}
{team.map((member) => (
))}
)
}