import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Users, MessageCircle, ExternalLink } from "lucide-react"; export interface TeamMember { id: string; name: string; role: string; title?: string; avatar_url?: string; status?: "online" | "offline" | "away"; bio?: string; links?: Array<{ title: string; url: string }>; } interface TeamWidgetProps { members: TeamMember[]; title?: string; description?: string; type?: "sprint" | "org" | "company"; onViewProfile?: (memberId: string) => void; onMessage?: (memberId: string) => void; accentColor?: "green" | "blue" | "purple" | "cyan"; } const colorMap = { green: { bg: "bg-gradient-to-br from-green-950/40 to-green-900/20", border: "border-green-500/20", }, blue: { bg: "bg-gradient-to-br from-blue-950/40 to-blue-900/20", border: "border-blue-500/20", }, purple: { bg: "bg-gradient-to-br from-purple-950/40 to-purple-900/20", border: "border-purple-500/20", }, cyan: { bg: "bg-gradient-to-br from-cyan-950/40 to-cyan-900/20", border: "border-cyan-500/20", }, }; const statusColors = { online: "bg-green-500", offline: "bg-gray-500", away: "bg-yellow-500", }; export function TeamWidget({ members, title = "Team Members", description = "Sprint team and collaborators", type = "sprint", onViewProfile, onMessage, accentColor = "green", }: TeamWidgetProps) { const colors = colorMap[accentColor]; return ( {title} {description} {members.length === 0 ? (

No team members

) : (
{members.map((member) => (
{/* Member Header */}
{member.avatar_url ? ( {member.name} ) : (
{member.name.charAt(0).toUpperCase()}
)} {member.status && (
)}

{member.name}

{member.role}

{member.title && (

{member.title}

)}
{/* Bio */} {member.bio && (

{member.bio}

)} {/* Links */} {member.links && member.links.length > 0 && (
{member.links.map((link) => ( {link.title} ))}
)} {/* Actions */}
{onViewProfile && ( )} {onMessage && ( )}
))}
)} ); } export default TeamWidget;