diff --git a/pitch-deck/components/slides/TeamSlide.tsx b/pitch-deck/components/slides/TeamSlide.tsx index f50d033..48a578e 100644 --- a/pitch-deck/components/slides/TeamSlide.tsx +++ b/pitch-deck/components/slides/TeamSlide.tsx @@ -3,7 +3,7 @@ import { motion } from 'framer-motion' import { Language, PitchTeamMember } from '@/lib/types' import { t } from '@/lib/i18n' -import { User, Linkedin } from 'lucide-react' +import { User, Linkedin, Github } from 'lucide-react' import GradientText from '../ui/GradientText' import FadeInView from '../ui/FadeInView' import Image from 'next/image' @@ -13,89 +13,109 @@ interface TeamSlideProps { team: PitchTeamMember[] } +function equityDisplay(pct: number | string | null | undefined): string { + const n = Number(pct) + if (!Number.isFinite(n)) return '—' + return Number.isInteger(n) ? `${n}%` : `${n.toFixed(1)}%` +} + +function detectProfileLink(url: string | null | undefined): { icon: typeof Linkedin | typeof Github; label: string } | null { + if (!url) return null + if (url.includes('github.com')) return { icon: Github, label: 'GitHub' } + if (url.includes('linkedin.com')) return { icon: Linkedin, label: 'LinkedIn' } + return { icon: Linkedin, label: 'Profile' } +} + export default function TeamSlide({ lang, team }: TeamSlideProps) { const i = t(lang) return (
{i.team.subtitle}
- {lang === 'de' ? member.role_de : member.role_en} -
-- {lang === 'de' ? member.bio_de : member.bio_en} -
- - {/* Equity */} -+ {lang === 'de' ? member.role_de : member.role_en} +
+ {lang === 'de' ? member.bio_de : member.bio_en} +
+ + {/* Expertise tags */} + {(member.expertise || []).length > 0 && ( +