Roadmap to becoming a developer in 2022
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.

61 lines
1.8 KiB

import Link from 'next/link';
import classNames from 'classnames';
import {
SummaryContainer,
Title,
Description,
Image,
Header,
Summary,
VersionLink,
VersionList,
} from './style';
import SharePage from '../share-page';
import { BadgesList, PrimaryBadge, SecondaryBadge } from 'components/badges';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faEnvelope } from '@fortawesome/free-solid-svg-icons';
const isActiveRoadmap = (loadedVersion, roadmapVersion) => (
(loadedVersion === roadmapVersion) ||
(loadedVersion === 'latest' && parseInt(roadmapVersion, 10) === (new Date()).getFullYear())
);
const RoadmapSummary = ({ roadmap }) => (
<SummaryContainer>
<Header>
<Title>{ roadmap.title }</Title>
<Description>{ roadmap.description }</Description>
<BadgesList className="mt-4">
{ roadmap.upcoming && <SecondaryBadge>Upcoming Roadmap</SecondaryBadge> }
{ roadmap.featured && <SecondaryBadge>Featured Roadmap</SecondaryBadge> }
<a href="/signup">
<PrimaryBadge>
<FontAwesomeIcon icon={faEnvelope}/>
Notify Me
</PrimaryBadge>
</a>
</BadgesList>
<VersionList className="border-bottom">
{ (roadmap.versions || []).map(versionItem => (
<Link href={ `${roadmap.url}/${versionItem}` } passHref key={ versionItem }>
<VersionLink className={ classNames({
active: isActiveRoadmap(versionItem, roadmap.version),
}) }>{ versionItem } Version</VersionLink>
</Link>
)) }
</VersionList>
</Header>
<Summary>
<div className="container">
<Image src={ roadmap.picture } />
<SharePage title={ roadmap.description } url={ roadmap.url } />
</div>
</Summary>
</SummaryContainer>
);
export default RoadmapSummary;