Add new badge to new roadmaps

pull/1657/head
Kamran Ahmed 2 years ago
parent dac7e9605e
commit 72ae78ede7
  1. 1
      components/home/featured-roadmaps-list.tsx
  2. 54
      components/roadmap/home-roadmap-item.tsx
  3. 4
      content/roadmaps.json
  4. 1
      content/roadmaps/105-vue/meta.json
  5. 1
      content/roadmaps/106-javascript/meta.json
  6. 1
      content/roadmaps/107-nodejs/meta.json
  7. 1
      content/roadmaps/112-blockchain/meta.json
  8. 1
      lib/roadmap.ts
  9. 10
      public/sitemap.xml

@ -23,6 +23,7 @@ export function FeaturedRoadmapsList(props: FeaturedRoadmapsListProps) {
colorIndex={counter} colorIndex={counter}
title={roadmap.featuredTitle} title={roadmap.featuredTitle}
isCommunity={roadmap.isCommunity} isCommunity={roadmap.isCommunity}
isNew={roadmap.isNew}
subtitle={roadmap.featuredDescription} subtitle={roadmap.featuredDescription}
/> />
))} ))}

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

@ -273,6 +273,7 @@
"featuredDescription": "Step by step guide to become a Vue Developer in 2022", "featuredDescription": "Step by step guide to become a Vue Developer in 2022",
"isTextHeavy": false, "isTextHeavy": false,
"isCommunity": false, "isCommunity": false,
"isNew": true,
"featured": true, "featured": true,
"jsonUrl": "/project/vue.json", "jsonUrl": "/project/vue.json",
"resourcesPath": "/roadmaps/105-vue/resources.md", "resourcesPath": "/roadmaps/105-vue/resources.md",
@ -321,6 +322,7 @@
"featuredDescription": "Step by step guide to learn JavaScript in 2022", "featuredDescription": "Step by step guide to learn JavaScript in 2022",
"isTextHeavy": false, "isTextHeavy": false,
"isCommunity": false, "isCommunity": false,
"isNew": true,
"featured": true, "featured": true,
"jsonUrl": "/project/javascript.json", "jsonUrl": "/project/javascript.json",
"versions": [ "versions": [
@ -438,6 +440,7 @@
"featuredTitle": "Node.js", "featuredTitle": "Node.js",
"featuredDescription": "Step by step guide to becoming a Node.js developer in 2022", "featuredDescription": "Step by step guide to becoming a Node.js developer in 2022",
"type": "tool", "type": "tool",
"isNew": true,
"author": { "author": {
"name": "Kamran Ahmed", "name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse" "url": "https://twitter.com/kamranahmedse"
@ -682,6 +685,7 @@
"featuredDescription": "Step by step guide to becoming a blockchain developer in 2022", "featuredDescription": "Step by step guide to becoming a blockchain developer in 2022",
"featured": true, "featured": true,
"type": "role", "type": "role",
"isNew": true,
"imageUrl": "/roadmaps/blockchain.png", "imageUrl": "/roadmaps/blockchain.png",
"jsonUrl": "/project/blockchain.json", "jsonUrl": "/project/blockchain.json",
"author": { "author": {

@ -34,6 +34,7 @@
"featuredDescription": "Step by step guide to become a Vue Developer in 2022", "featuredDescription": "Step by step guide to become a Vue Developer in 2022",
"isTextHeavy": false, "isTextHeavy": false,
"isCommunity": false, "isCommunity": false,
"isNew": true,
"featured": true, "featured": true,
"jsonUrl": "/project/vue.json", "jsonUrl": "/project/vue.json",
"resourcesPath": "./resources.md", "resourcesPath": "./resources.md",

@ -28,6 +28,7 @@
"featuredDescription": "Step by step guide to learn JavaScript in 2022", "featuredDescription": "Step by step guide to learn JavaScript in 2022",
"isTextHeavy": false, "isTextHeavy": false,
"isCommunity": false, "isCommunity": false,
"isNew": true,
"featured": true, "featured": true,
"jsonUrl": "/project/javascript.json", "jsonUrl": "/project/javascript.json",
"versions": [ "versions": [

@ -56,6 +56,7 @@
"featuredTitle": "Node.js", "featuredTitle": "Node.js",
"featuredDescription": "Step by step guide to becoming a Node.js developer in 2022", "featuredDescription": "Step by step guide to becoming a Node.js developer in 2022",
"type": "tool", "type": "tool",
"isNew": true,
"author": { "author": {
"name": "Kamran Ahmed", "name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse" "url": "https://twitter.com/kamranahmedse"

@ -38,6 +38,7 @@
"featuredDescription": "Step by step guide to becoming a blockchain developer in 2022", "featuredDescription": "Step by step guide to becoming a blockchain developer in 2022",
"featured": true, "featured": true,
"type": "role", "type": "role",
"isNew": true,
"imageUrl": "/roadmaps/blockchain.png", "imageUrl": "/roadmaps/blockchain.png",
"jsonUrl": "/project/blockchain.json", "jsonUrl": "/project/blockchain.json",
"author": { "author": {

@ -18,6 +18,7 @@ export type RoadmapType = {
featured: boolean; featured: boolean;
imageUrl?: string; imageUrl?: string;
jsonUrl?: string; jsonUrl?: string;
isNew?: boolean;
landingPath?: string; landingPath?: string;
resourcesPath: string; resourcesPath: string;
contentPathsFilePath?: string; contentPathsFilePath?: string;

@ -33,13 +33,13 @@
<url> <url>
<loc>https://roadmap.sh/vue</loc> <loc>https://roadmap.sh/vue</loc>
<changefreq>monthly</changefreq> <changefreq>monthly</changefreq>
<lastmod>2022-08-08T16:43:49.818Z</lastmod> <lastmod>2022-08-29T14:35:47.707Z</lastmod>
<priority>1.0</priority> <priority>1.0</priority>
</url> </url>
<url> <url>
<loc>https://roadmap.sh/javascript</loc> <loc>https://roadmap.sh/javascript</loc>
<changefreq>monthly</changefreq> <changefreq>monthly</changefreq>
<lastmod>2022-08-17T22:44:44.573Z</lastmod> <lastmod>2022-08-29T14:35:15.626Z</lastmod>
<priority>1.0</priority> <priority>1.0</priority>
</url> </url>
<url> <url>
@ -51,7 +51,7 @@
<url> <url>
<loc>https://roadmap.sh/nodejs</loc> <loc>https://roadmap.sh/nodejs</loc>
<changefreq>monthly</changefreq> <changefreq>monthly</changefreq>
<lastmod>2022-08-25T19:14:40.904Z</lastmod> <lastmod>2022-08-29T14:35:29.504Z</lastmod>
<priority>1.0</priority> <priority>1.0</priority>
</url> </url>
<url> <url>
@ -81,7 +81,7 @@
<url> <url>
<loc>https://roadmap.sh/blockchain</loc> <loc>https://roadmap.sh/blockchain</loc>
<changefreq>monthly</changefreq> <changefreq>monthly</changefreq>
<lastmod>2022-08-16T00:30:54.157Z</lastmod> <lastmod>2022-08-29T14:36:56.532Z</lastmod>
<priority>1.0</priority> <priority>1.0</priority>
</url> </url>
<url> <url>
@ -273,7 +273,7 @@
<url> <url>
<loc>https://roadmap.sh/</loc> <loc>https://roadmap.sh/</loc>
<changefreq>monthly</changefreq> <changefreq>monthly</changefreq>
<lastmod>2022-08-25T16:14:15.485Z</lastmod> <lastmod>2022-08-29T13:51:41.632Z</lastmod>
<priority>1.0</priority> <priority>1.0</priority>
</url> </url>
<url> <url>

Loading…
Cancel
Save