11import { Card , CardContent } from "@/components/ui/card" ;
22import { Badge } from "@/components/ui/badge" ;
3+ import { HoverCard , HoverCardContent , HoverCardTrigger } from "@/components/ui/hover-card" ;
34import { FaGlobe , FaLinkedin , FaGithub } from "react-icons/fa" ;
5+ import { Info } from "lucide-react" ;
46import { Officer } from "@/types/officers" ;
57
68interface OfficerCardProps {
@@ -16,6 +18,7 @@ export const OfficerCard = ({ officer }: OfficerCardProps) => {
1618 const linkedin = officer . linkedin || '' ;
1719 const github = officer . github || '' ;
1820 const orcid = officer . orcid || '' ;
21+ const bio = officer . bio || '' ;
1922
2023 // Default placeholder image path
2124 const defaultImage = '/placeholder.svg' ;
@@ -57,6 +60,21 @@ export const OfficerCard = ({ officer }: OfficerCardProps) => {
5760
5861 { /* Contact Links */ }
5962 < div className = "flex space-x-3 pt-1" >
63+ { bio && bio . trim ( ) !== '' && (
64+ < HoverCard >
65+ < HoverCardTrigger asChild >
66+ < button className = "text-bio-green hover:text-bio-green/80 transition-colors" >
67+ < Info className = "w-4 h-4" />
68+ </ button >
69+ </ HoverCardTrigger >
70+ < HoverCardContent className = "w-80" >
71+ < div className = "space-y-2" >
72+ < h4 className = "font-semibold text-sm" > About { name } </ h4 >
73+ < p className = "text-sm text-muted-foreground" > { bio } </ p >
74+ </ div >
75+ </ HoverCardContent >
76+ </ HoverCard >
77+ ) }
6078 { personalWebsite && personalWebsite . trim ( ) !== '' && (
6179 < a
6280 href = { personalWebsite . startsWith ( 'http' ) ? personalWebsite : `https://${ personalWebsite } ` }
0 commit comments