computer-scienceangular-roadmapbackend-roadmapblockchain-roadmapdba-roadmapdeveloper-roadmapdevops-roadmapfrontend-roadmapgo-roadmaphactoberfestjava-roadmapjavascript-roadmapnodejs-roadmappython-roadmapqa-roadmapreact-roadmaproadmapstudy-planvue-roadmapweb3-roadmap
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.1 KiB
63 lines
2.1 KiB
import { ExternalLink } from 'lucide-react'; |
|
|
|
type RoadmapMultiCardProps = { |
|
roadmaps: { |
|
title: string; |
|
link: string; |
|
}[]; |
|
description: string; |
|
secondaryRoadmaps?: { |
|
title: string; |
|
link: string; |
|
}[]; |
|
secondaryDescription?: string; |
|
}; |
|
export function RoadmapMultiCard(props: RoadmapMultiCardProps) { |
|
const { roadmaps, description, secondaryRoadmaps, secondaryDescription } = props; |
|
return ( |
|
<div |
|
className="relative flex flex-col overflow-hidden rounded-xl border border-gray-300 bg-gradient-to-br from-gray-100 |
|
to-gray-50 ease-in-out" |
|
> |
|
<div className="flex flex-col divide-y"> |
|
{roadmaps.map((roadmap, index) => ( |
|
<a |
|
target={'_blank'} |
|
key={index} |
|
href={roadmap.link} |
|
className="group text-sm sm:text-base flex w-full items-center justify-between gap-2 bg-gradient-to-br from-gray-100 to-gray-50 px-4 sm:px-5 py-2 transition-colors duration-200" |
|
> |
|
{roadmap.title} |
|
<ExternalLink className="lucide lucide-external-link h-4 text-gray-300 transition group-hover:text-gray-700" /> |
|
</a> |
|
))} |
|
</div> |
|
|
|
<p className="flex-grow bg-gray-200/70 p-4 sm:p-5 text-sm text-gray-500"> |
|
{description} |
|
</p> |
|
|
|
{secondaryRoadmaps && ( |
|
<div className="flex flex-col divide-y"> |
|
{secondaryRoadmaps.map((roadmap, index) => ( |
|
<a |
|
target={'_blank'} |
|
key={index} |
|
href={roadmap.link} |
|
className="group text-sm sm:text-base flex w-full items-center justify-between gap-2 bg-gradient-to-br from-gray-100 to-gray-50 px-5 py-2 transition-colors duration-200" |
|
> |
|
{roadmap.title} |
|
<ExternalLink className="lucide lucide-external-link h-4 text-gray-300 transition group-hover:text-gray-700" /> |
|
</a> |
|
))} |
|
</div> |
|
)} |
|
|
|
{secondaryDescription && ( |
|
<p className="flex-grow bg-gray-200/70 p-4 sm:p-5 text-sm text-gray-500"> |
|
{secondaryDescription} |
|
</p> |
|
)} |
|
</div> |
|
); |
|
}
|
|
|