'use client'; import * as React from 'react'; import { motion } from 'framer-motion'; import Image from 'next/image'; import { useTranslations } from 'next-intl'; export interface TeamMember { id: string; name: string; position: string; email?: string | null; phone?: string | null; image?: { url: string; alt?: string; } | string | null; branch?: string; } interface TeamGridProps { members: TeamMember[]; } export function TeamGrid({ members }: TeamGridProps) { const t = useTranslations('TeamGrid'); if (!members || members.length === 0) return null; return (

{t('badge')}

{t('title')}

{t('subtitle')}

{members.length > 0 && (
{/* Premium Background Effects */}
{/* Text Content */}
{t('management')}

{members[0].name}

{members[0].position}

{members[0].email && ( {members[0].email} )} {members[0].phone && ( {members[0].phone} )}
{/* Premium Image Block */}
{members[0].image && (typeof members[0].image === 'string' ? members[0].image : members[0].image.url) ? ( {members[0].name} ) : (
)}
)}
{members.slice(1).map((member, i) => ( {/* Card Banner */}
{/* Overlapping Profile Picture */}
{member.image && (typeof member.image === 'string' ? member.image : member.image.url) ? ( {member.name} ) : (
)}
{/* Details */}

{member.name}

{member.position}

{member.branch && (
{member.branch === 'e-tib' ? t('branchETIB') : member.branch === 'ing' ? t('branchIng') : member.branch === 'bohrtechnik' ? t('branchBohr') : member.branch}
)} {/* Contacts (Sticky at bottom) */}
{member.email && (
{member.email}
)} {member.phone && (
{member.phone}
)}
))}
); }