Spaces:
Running
Running
import { CalendarDays, Globe, Tag } from "lucide-react"; | |
interface ConferenceCardProps { | |
name: string; | |
date: string; | |
location: string; | |
deadline: string; | |
daysLeft: number; | |
tags: string[]; | |
} | |
const ConferenceCard = ({ | |
name, | |
date, | |
location, | |
deadline, | |
daysLeft, | |
tags, | |
}: ConferenceCardProps) => { | |
return ( | |
<div className="conference-card animate-fade-in"> | |
<div className="flex justify-between items-start mb-4"> | |
<h3 className="text-xl font-semibold">{name}</h3> | |
<div className="countdown">{daysLeft}d</div> | |
</div> | |
<div className="space-y-2 mb-4"> | |
<div className="flex items-center text-neutral"> | |
<CalendarDays className="h-4 w-4 mr-2" /> | |
<span className="text-sm">{date}</span> | |
</div> | |
<div className="flex items-center text-neutral"> | |
<Globe className="h-4 w-4 mr-2" /> | |
<span className="text-sm">{location}</span> | |
</div> | |
</div> | |
<div className="flex flex-wrap gap-2 mb-4"> | |
{tags.map((tag) => ( | |
<span key={tag} className="tag"> | |
<Tag className="h-3 w-3 mr-1" /> | |
{tag} | |
</span> | |
))} | |
</div> | |
<div className="text-sm text-neutral-dark"> | |
Deadline: {deadline} | |
</div> | |
</div> | |
); | |
}; | |
export default ConferenceCard; | |