57 lines
1.1 KiB
TypeScript
57 lines
1.1 KiB
TypeScript
'use client';
|
|
|
|
import { TeamLogo } from '@/components/teams/TeamLogo';
|
|
import { TeamCard as UITeamCard } from '@/ui/TeamCard';
|
|
import React, { ReactNode } from 'react';
|
|
|
|
interface TeamCardProps {
|
|
name: string;
|
|
description?: string;
|
|
logo?: string;
|
|
memberCount: number;
|
|
isRecruiting?: boolean;
|
|
performanceBadge?: ReactNode;
|
|
specializationContent?: ReactNode;
|
|
categoryBadge?: ReactNode;
|
|
region?: string;
|
|
languagesContent?: ReactNode;
|
|
statsContent?: ReactNode;
|
|
onClick?: () => void;
|
|
}
|
|
|
|
export function TeamCard({
|
|
name,
|
|
description,
|
|
logo,
|
|
memberCount,
|
|
isRecruiting,
|
|
performanceBadge,
|
|
specializationContent,
|
|
categoryBadge,
|
|
region,
|
|
languagesContent,
|
|
onClick,
|
|
}: TeamCardProps) {
|
|
return (
|
|
<UITeamCard
|
|
name={name}
|
|
description={description}
|
|
memberCount={memberCount}
|
|
isRecruiting={isRecruiting}
|
|
region={region}
|
|
onClick={onClick}
|
|
logo={
|
|
<TeamLogo src={logo} alt={name} size={64} />
|
|
}
|
|
badges={
|
|
<>
|
|
{performanceBadge}
|
|
{specializationContent}
|
|
{categoryBadge}
|
|
{languagesContent}
|
|
</>
|
|
}
|
|
/>
|
|
);
|
|
}
|