|
|
|
import { RoadmapType } from '../../lib/roadmap';
|
|
|
|
import { SimpleGrid, Tag } from '@chakra-ui/react';
|
|
|
|
import { HomeRoadmapItem } from '../roadmap/home-roadmap-item';
|
|
|
|
|
|
|
|
type FeaturedRoadmapsListProps = {
|
|
|
|
roadmaps: RoadmapType[];
|
|
|
|
title: string;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
export const upcomingRoadmaps = [
|
|
|
|
{
|
|
|
|
type: 'Role Based',
|
|
|
|
title: 'Software Architect',
|
|
|
|
description: 'Roadmap to become a modern Software Architect',
|
|
|
|
id: 'software-architect'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
type: 'Role Based',
|
|
|
|
title: 'React Native',
|
|
|
|
description: 'Step by step guide to become a React Native Developer',
|
|
|
|
id: 'react-native'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
type: 'Skill Based',
|
|
|
|
title: 'Design System',
|
|
|
|
description: 'Flowchart to help you plan and build your Design System',
|
|
|
|
id: 'design-system'
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
export function FeaturedRoadmapsList(props: FeaturedRoadmapsListProps) {
|
|
|
|
const { roadmaps, title } = props;
|
|
|
|
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<Tag bg='gray.400' mb={4}>{title}</Tag>
|
|
|
|
<SimpleGrid columns={[1, 2, 3]} spacing={['10px', '10px', '15px']} mb='40px'>
|
|
|
|
<>
|
|
|
|
{roadmaps.map((roadmap: RoadmapType, counter: number) => (
|
|
|
|
<HomeRoadmapItem
|
|
|
|
isUpcoming={roadmap.isUpcoming}
|
|
|
|
url={`/${roadmap.id}`}
|
|
|
|
key={roadmap.id}
|
|
|
|
colorIndex={counter}
|
|
|
|
title={roadmap.featuredTitle}
|
|
|
|
isCommunity={roadmap.isCommunity}
|
|
|
|
isNew={roadmap.isNew}
|
|
|
|
subtitle={roadmap.featuredDescription}
|
|
|
|
/>
|
|
|
|
))}
|
|
|
|
{upcomingRoadmaps
|
|
|
|
.filter(roadmap => roadmap.type === title)
|
|
|
|
.map((roadmap, counter) => (
|
|
|
|
<HomeRoadmapItem
|
|
|
|
isUpcoming={true}
|
|
|
|
url={`/upcoming?id=${roadmap.id}`}
|
|
|
|
key={`upcoming-${roadmap.id}`}
|
|
|
|
colorIndex={9}
|
|
|
|
title={roadmap.title}
|
|
|
|
subtitle={roadmap.description}
|
|
|
|
/>
|
|
|
|
))}
|
|
|
|
</>
|
|
|
|
</SimpleGrid>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
}
|