parent
65d2023e62
commit
e0cc5d93b5
2 changed files with 110 additions and 12 deletions
@ -0,0 +1,63 @@ |
|||||||
|
import { Box, Button, Container, Flex, Heading, Input, Text } 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 Helmet from '../components/helmet'; |
||||||
|
import { NewAlertBanner } from '../components/roadmap/new-alert-banner'; |
||||||
|
import { BellIcon, EmailIcon } from '@chakra-ui/icons'; |
||||||
|
import { SIGNUP_EMAIL_INPUT_NAME, SIGNUP_FORM_ACTION } from './signup'; |
||||||
|
import React from 'react'; |
||||||
|
import { upcomingRoadmaps } from '../components/home/featured-roadmaps-list'; |
||||||
|
|
||||||
|
function getParameterByName(name: string, url: string = (typeof window !== 'undefined' ? window : {} as any)?.location?.href) { |
||||||
|
name = name.replace(/[\[\]]/g, '\\$&'); |
||||||
|
|
||||||
|
let regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'); |
||||||
|
let results = regex.exec(url); |
||||||
|
|
||||||
|
if (!results) return null; |
||||||
|
if (!results[2]) return ''; |
||||||
|
|
||||||
|
return decodeURIComponent(results[2].replace(/\+/g, ' ')); |
||||||
|
} |
||||||
|
|
||||||
|
export default function Upcoming() { |
||||||
|
const roadmapId = getParameterByName('id'); |
||||||
|
const foundRoadmap = upcomingRoadmaps.find(roadmap => roadmap.id === roadmapId) || {} as any; |
||||||
|
|
||||||
|
const title = foundRoadmap?.title || 'Upcoming Roadmap'; |
||||||
|
const description = foundRoadmap.description || 'Roadmap is not yet ready. Subscribe yourself below to get notified.'; |
||||||
|
|
||||||
|
return ( |
||||||
|
<Box bg='white' minH='100vh'> |
||||||
|
<GlobalHeader /> |
||||||
|
<Helmet |
||||||
|
title={title} |
||||||
|
description={description} |
||||||
|
/> |
||||||
|
<Box mb='60px'> |
||||||
|
<PageHeader |
||||||
|
beforeTitle={<NewAlertBanner />} |
||||||
|
title={title} |
||||||
|
subtitle={description} |
||||||
|
/> |
||||||
|
<Container maxW='container.md' position='relative'> |
||||||
|
<Flex flexDir='column' alignItems='center' borderWidth={1} rounded='lg' py={10} boxShadow='inner' px={5}> |
||||||
|
<BellIcon w='90px' h='90px' color='gray.200' mb={5} /> |
||||||
|
<Heading mb={2} fontSize='2xl' >Upcoming Roadmap</Heading> |
||||||
|
<Text fontSize='sm' mb={4}>Please check back later or subscribe below.</Text> |
||||||
|
|
||||||
|
<form action={SIGNUP_FORM_ACTION} method='post'> |
||||||
|
<Input type='email' bg={'white'} size='lg' placeholder='Enter your email' mb={2} name={SIGNUP_EMAIL_INPUT_NAME} required /> |
||||||
|
<Button size='lg' isFullWidth colorScheme='teal' leftIcon={<EmailIcon />} type='submit'>Get Notified</Button> |
||||||
|
</form> |
||||||
|
</Flex> |
||||||
|
</Container> |
||||||
|
</Box> |
||||||
|
|
||||||
|
<OpensourceBanner /> |
||||||
|
<Footer /> |
||||||
|
</Box> |
||||||
|
); |
||||||
|
} |
Loading…
Reference in new issue