import { Badge, Box, Flex, Heading, Link, Text, Tooltip } from '@chakra-ui/react'; import { InfoIcon } from '@chakra-ui/icons'; type RoadmapGridItemProps = { title: string; subtitle: string; isCommunity?: boolean; isUpcoming?: boolean; colorIndex?: number; isNew?: boolean; url: string; }; const bgColorList = [ 'red.100', 'yellow.100', 'green.200', 'teal.200', 'blue.200', 'red.200', 'gray.200', 'teal.200', 'yellow.100', 'green.200', 'red.200' ]; export function HomeRoadmapItem(props: RoadmapGridItemProps) { const { title, subtitle, isCommunity, isNew, colorIndex = 0, url, isUpcoming } = props; return ( <Box position='relative' as={Link} href={url} _hover={{ textDecoration: 'none', bg: 'rgba(255,255,255,.10)' }} sx={{ // On mobile devices, don't change the scale '@media (hover: none)': { '&:hover': { bg: 'rgba(255,255,255,.05)' } } }} flex={1} shadow='2xl' className={'home-roadmap-item'} bg={'rgba(255,255,255,.05)'} color='white' p='15px' rounded='10px' pos='relative' > {isCommunity && ( <Tooltip label={'Community contribution'} hasArrow placement='top'> <InfoIcon opacity={0.5} position='absolute' top='10px' right='10px' /> </Tooltip> )} <Heading fontSize={['17px', '17px', '22px']} color={bgColorList[colorIndex]} mb='5px' d='flex' alignItems='center' > {title} { isNew && <Badge position='absolute' bottom={0} right={0} colorScheme='yellow' ml='10px'>New</Badge> } </Heading> <Text color='gray.200' fontSize={['13px']}> {subtitle} </Text> {isUpcoming && ( <Flex alignItems='center' justifyContent='center' pos='absolute' left={0} right={0} top={0} bottom={0} rounded='10px' > <Text color='white' bg='gray.600' zIndex={1} fontWeight={600} p={'5px 10px'} rounded='10px' > Upcoming </Text> <Box bg={'black'} pos='absolute' top={0} left={0} right={0} bottom={0} rounded={'10px'} opacity={0.5} /> </Flex> )} </Box> ); }