import { Box, Container, SimpleGrid } from '@chakra-ui/react';
import { GlobalHeader } from '../components/global-header';
import { OpensourceBanner } from '../components/opensource-banner';
import { Footer } from '../components/footer';
import { PageHeader } from '../components/page-header';
import { RoadmapGridItem } from '../components/roadmap/roadmap-grid-item';
import { getAllRoadmaps, RoadmapType } from '../lib/roadmap';
import Helmet from '../components/helmet';
import { NewAlertBanner } from '../components/roadmap/new-alert-banner';

type RoadmapsProps = {
  roadmaps: RoadmapType[];
};

export default function Roadmaps(props: RoadmapsProps) {
  const { roadmaps } = props;

  return (
    <Box bg='white' minH='100vh'>
      <GlobalHeader />
      <Helmet
        title={'Developer Roadmaps'}
        description={'Step by step guides and paths to learn different tools or technologies'}
      />
      <Box mb='60px'>
        <PageHeader
          beforeTitle={<NewAlertBanner />}
          title={'Developer Roadmaps'}
          subtitle={'Step by step guides and paths to learn different tools or technologies'}
        />
        <Container maxW='container.md' position='relative'>
          <SimpleGrid columns={[1, 1, 2, 2]} mb='30px' spacing={['10px', '10px', '15px']}>
            {roadmaps.map((roadmap, counter) => (
              <RoadmapGridItem
                key={roadmap.id}
                href={`/${roadmap.id}`}
                colorIndex={counter}
                title={roadmap.featuredTitle}
                subtitle={roadmap.description}
                isCommunity={roadmap.isCommunity}
                isUpcoming={roadmap.isUpcoming}
              />
            ))}
          </SimpleGrid>
        </Container>
      </Box>

      <OpensourceBanner />
      <Footer />
    </Box>
  );
}

export async function getStaticProps() {
  return {
    props: {
      roadmaps: getAllRoadmaps()
    }
  };
}