mirror of https://github.com/ethereum/go-ethereum
parent
0d41782d64
commit
8477cc30c4
Before Width: | Height: | Size: 834 B After Width: | Height: | Size: 837 B |
@ -0,0 +1,114 @@ |
||||
import { Box, Flex, Input, InputGroup, Link, Stack, Text } from '@chakra-ui/react'; |
||||
import { FC } from 'react'; |
||||
import NextLink from 'next/link'; |
||||
|
||||
import { HamburguerIcon, LensIcon, MoonIcon } from '../UI/icons'; |
||||
import { DOCS_PAGE, DOWNLOADS_PAGE } from '../../constants'; |
||||
|
||||
export const Header: FC = () => { |
||||
return ( |
||||
<Flex |
||||
mb={4} |
||||
border='2px solid' |
||||
borderColor='brand.light.primary' |
||||
justifyContent='space-between' |
||||
> |
||||
<Stack |
||||
p={4} |
||||
justifyContent='center' |
||||
alignItems='flex-start' |
||||
borderRight={{ base: 'none', sm: '2px solid #11866f' }} |
||||
flexGrow={2} |
||||
> |
||||
<Text |
||||
fontFamily='"JetBrains Mono", monospace' |
||||
fontWeight={700} |
||||
fontSize={{ base: '0.86rem', sm: '1rem' }} |
||||
> |
||||
go-ethereum |
||||
</Text> |
||||
</Stack> |
||||
|
||||
<Flex> |
||||
{/* DOWNLOADS */} |
||||
<Stack |
||||
p={4} |
||||
justifyContent='center' |
||||
borderRight='2px solid' |
||||
borderColor='brand.light.primary' |
||||
display={{ base: 'none', md: 'block' }} |
||||
> |
||||
<NextLink href={DOWNLOADS_PAGE} passHref> |
||||
<Link _hover={{ textDecoration: 'none' }}> |
||||
<Text |
||||
fontFamily='"JetBrains Mono", monospace' |
||||
fontWeight={700} |
||||
fontSize={{ base: '0.86rem', sm: '1rem' }} |
||||
color='brand.light.primary' |
||||
textTransform='uppercase' |
||||
> |
||||
downloads |
||||
</Text> |
||||
</Link> |
||||
</NextLink> |
||||
</Stack> |
||||
|
||||
{/* DOCUMENTATION */} |
||||
<Stack |
||||
p={4} |
||||
justifyContent='center' |
||||
borderRight={{ base: 'none', md: '2px solid #11866f' }} |
||||
display={{ base: 'none', md: 'block' }} |
||||
> |
||||
<NextLink href={DOCS_PAGE} passHref> |
||||
<Link _hover={{ textDecoration: 'none' }}> |
||||
<Text |
||||
fontFamily='"JetBrains Mono", monospace' |
||||
fontWeight={700} |
||||
fontSize={{ base: '0.86rem', sm: '1rem' }} |
||||
color='brand.light.primary' |
||||
textTransform='uppercase' |
||||
> |
||||
documentation |
||||
</Text> |
||||
</Link> |
||||
</NextLink> |
||||
</Stack> |
||||
|
||||
{/* SEARCH */} |
||||
<Stack |
||||
p={4} |
||||
display={{ base: 'none', md: 'block' }} |
||||
borderRight={{ base: 'none', md: '2px solid #11866f' }} |
||||
> |
||||
<InputGroup> |
||||
<Input |
||||
variant='unstyled' |
||||
placeholder='search' |
||||
size='md' |
||||
_placeholder={{ color: 'brand.light.primary', fontStyle: 'italic' }} |
||||
/> |
||||
|
||||
<Stack pl={4} justifyContent='center' alignItems='center'> |
||||
<LensIcon /> |
||||
</Stack> |
||||
</InputGroup> |
||||
</Stack> |
||||
|
||||
{/* DARK MODE SWITCH */} |
||||
<Box |
||||
p={4} |
||||
borderRight={{ base: '2px solid', lg: 'none' }} |
||||
borderColor='brand.light.primary' |
||||
> |
||||
<MoonIcon /> |
||||
</Box> |
||||
|
||||
{/* HAMBURGUER MENU */} |
||||
<Box p={4} display={{ base: 'block', lg: 'none' }}> |
||||
<HamburguerIcon /> |
||||
</Box> |
||||
</Flex> |
||||
</Flex> |
||||
); |
||||
}; |
@ -1,3 +1,3 @@ |
||||
export * from './DownloadsHero'; |
||||
export * from './DownloadsSection' |
||||
export * from './DownloadsTable' |
||||
export * from './DownloadsSection'; |
||||
export * from './DownloadsTable'; |
||||
|
@ -0,0 +1,67 @@ |
||||
import { Box, Grid, GridItem, Image, Link, Stack, Text } from '@chakra-ui/react'; |
||||
import { FC } from 'react'; |
||||
import NextLink from 'next/link'; |
||||
|
||||
import { ETHEREUM_ORG_URL } from '../../../constants'; |
||||
|
||||
interface Props { |
||||
children: React.ReactNode; |
||||
} |
||||
|
||||
export const WhatIsEthereum: FC<Props> = ({ children }) => { |
||||
return ( |
||||
<Stack border='2px solid' borderColor='brand.light.primary'> |
||||
<Grid |
||||
templateColumns={{ base: 'repeat(1, 1fr)', md: 'repeat(2, 1fr)' }} |
||||
borderBottom={{ base: 'none', md: '2px solid #11866f' }} |
||||
> |
||||
<GridItem |
||||
borderRight={{ base: 'none', md: '2px solid #11866f' }} |
||||
order={{ base: 2, md: 1 }} |
||||
> |
||||
<Stack |
||||
p={4} |
||||
borderBottom='2px solid' |
||||
borderColor='brand.light.primary' |
||||
sx={{ mt: '0 !important' }} |
||||
> |
||||
<Box as='h2' textStyle='h2'> |
||||
What is Ethereum |
||||
</Box> |
||||
</Stack> |
||||
|
||||
<Stack |
||||
p={4} |
||||
borderBottom={{ base: '2px solid', md: 'none' }} |
||||
borderColor='brand.light.primary' |
||||
sx={{ mt: '0 !important' }} |
||||
> |
||||
{children} |
||||
</Stack> |
||||
</GridItem> |
||||
|
||||
<GridItem order={{ base: 1, md: 2 }}> |
||||
<Stack |
||||
justifyContent='center' |
||||
alignItems='center' |
||||
p={4} |
||||
borderBottom={{ base: '2px solid', md: 'none' }} |
||||
borderColor='brand.light.primary' |
||||
h='100%' |
||||
> |
||||
{/* TODO: use NextImage */} |
||||
<Image src='/images/pages/glyph-home-light.svg' alt='Ethereum glyph' /> |
||||
</Stack> |
||||
</GridItem> |
||||
</Grid> |
||||
|
||||
<Stack sx={{ mt: '0 !important' }}> |
||||
<NextLink href={ETHEREUM_ORG_URL} passHref> |
||||
<Link variant='button-link-secondary' isExternal> |
||||
<Text textStyle='home-section-link-label'>Learn more on Ethereum.org</Text> |
||||
</Link> |
||||
</NextLink> |
||||
</Stack> |
||||
</Stack> |
||||
); |
||||
}; |
@ -0,0 +1,64 @@ |
||||
import { Box, Grid, GridItem, Image, Link, Stack, Text } from '@chakra-ui/react'; |
||||
import { FC } from 'react'; |
||||
import NextLink from 'next/link'; |
||||
|
||||
import { ETHEREUM_ORG_RUN_A_NODE_URL } from '../../../constants'; |
||||
|
||||
interface Props { |
||||
children: React.ReactNode; |
||||
} |
||||
|
||||
export const WhyRunANode: FC<Props> = ({ children }) => { |
||||
return ( |
||||
<Stack border='2px solid' borderColor='brand.light.primary'> |
||||
<Grid |
||||
templateColumns={{ base: 'repeat(1, 1fr)', md: 'repeat(2, 1fr)' }} |
||||
borderBottom={{ base: 'none', md: '2px solid #11866f' }} |
||||
> |
||||
<GridItem order={{ base: 1, md: 2 }}> |
||||
<Stack |
||||
p={4} |
||||
borderBottom='2px solid' |
||||
borderColor='brand.light.primary' |
||||
sx={{ mt: '0 !important' }} |
||||
> |
||||
<Box as='h2' textStyle='h2'> |
||||
Why run a node? |
||||
</Box> |
||||
</Stack> |
||||
|
||||
<Stack |
||||
p={4} |
||||
borderBottom={{ base: '2px solid', md: 'none' }} |
||||
borderColor='brand.light.primary' |
||||
sx={{ mt: '0 !important' }} |
||||
> |
||||
{children} |
||||
</Stack> |
||||
</GridItem> |
||||
|
||||
<GridItem rowSpan={2}> |
||||
<Stack |
||||
justifyContent='center' |
||||
alignItems='center' |
||||
p={4} |
||||
borderBottom={{ base: '2px solid #11866f', md: 'none' }} |
||||
borderRight={{ base: 'none', md: '2px solid #11866f' }} |
||||
h='100%' |
||||
> |
||||
{/* TODO: use NextImage */} |
||||
<Image src='/images/pages/gopher-home-nodes.svg' alt='Gopher staring at nodes' /> |
||||
</Stack> |
||||
</GridItem> |
||||
</Grid> |
||||
|
||||
<Stack sx={{ mt: '0 !important' }}> |
||||
<NextLink href={ETHEREUM_ORG_RUN_A_NODE_URL} passHref> |
||||
<Link variant='button-link-secondary' isExternal> |
||||
<Text textStyle='home-section-link-label'>Read more about running a node</Text> |
||||
</Link> |
||||
</NextLink> |
||||
</Stack> |
||||
</Stack> |
||||
); |
||||
}; |
@ -1,4 +1,6 @@ |
||||
export * from './Gopher'; |
||||
export * from './HomeHero'; |
||||
export * from './HomeSection'; |
||||
export * from './WhatIsEthereum'; |
||||
export * from './WhyRunANode'; |
||||
export * from './QuickLinks'; |
||||
|
@ -0,0 +1,16 @@ |
||||
import { createIcon } from '@chakra-ui/icons'; |
||||
|
||||
export const HamburguerIcon = createIcon({ |
||||
displayName: 'HamburguerIcon', |
||||
viewBox: '0 0 22 14', |
||||
path: ( |
||||
<svg width={22} height={14} fill='none' xmlns='http://www.w3.org/2000/svg'> |
||||
<path |
||||
fillRule='evenodd' |
||||
clipRule='evenodd' |
||||
d='M0 .5h22v.97H0V.5Zm0 6.017h22v.97H0v-.97Zm22 6.013H0v.97h22v-.97Z' |
||||
fill='#11866F' |
||||
/> |
||||
</svg> |
||||
) |
||||
}); |
@ -0,0 +1,14 @@ |
||||
import { createIcon } from '@chakra-ui/icons'; |
||||
|
||||
export const LensIcon = createIcon({ |
||||
displayName: 'LensIcon', |
||||
viewBox: '0 0 17 18', |
||||
path: ( |
||||
<svg width={17} height={18} fill='none' xmlns='http://www.w3.org/2000/svg'> |
||||
<path |
||||
d='M12.15 11.192h-.768l-.272-.263a6.29 6.29 0 0 0 1.526-4.111 6.317 6.317 0 1 0-6.318 6.318 6.29 6.29 0 0 0 4.111-1.526l.263.272v.768l4.86 4.85L17 16.052l-4.85-4.86Zm-5.832 0a4.368 4.368 0 0 1-4.374-4.374 4.368 4.368 0 0 1 4.374-4.374 4.368 4.368 0 0 1 4.374 4.374 4.368 4.368 0 0 1-4.374 4.374Z' |
||||
fill='#11866F' |
||||
/> |
||||
</svg> |
||||
) |
||||
}); |
@ -0,0 +1,14 @@ |
||||
import { createIcon } from '@chakra-ui/icons'; |
||||
|
||||
export const MoonIcon = createIcon({ |
||||
displayName: 'MoonIcon', |
||||
viewBox: '0 0 22 22', |
||||
path: ( |
||||
<svg width={22} height={22} fill='none' xmlns='http://www.w3.org/2000/svg'> |
||||
<path |
||||
d='M8.333.334C6.392.334 4.568.867 3 1.774c3.19 1.845 5.333 5.28 5.333 9.227 0 3.946-2.144 7.381-5.333 9.226a10.638 10.638 0 0 0 5.333 1.44C14.221 21.667 19 16.89 19 11.001 19 5.113 14.221.334 8.333.334Z' |
||||
fill='#11866F' |
||||
/> |
||||
</svg> |
||||
) |
||||
}); |
@ -0,0 +1,3 @@ |
||||
export * from './HamburguerIcon'; |
||||
export * from './LensIcon'; |
||||
export * from './MoonIcon'; |
@ -0,0 +1,2 @@ |
||||
export * from './DataTable'; |
||||
export * from './Header'; |
@ -1,32 +1,32 @@ |
||||
export const pgpBuildTestData = [ |
||||
{ |
||||
"build server": "Android Builder", |
||||
"unique id": "Go Ethereum Android Builder <geth-ci@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
'build server': 'Android Builder', |
||||
'unique id': 'Go Ethereum Android Builder <geth-ci@ethereum.org>', |
||||
'openpgp key': 'F9585DE6', |
||||
fingerprint: '8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6' |
||||
}, |
||||
{ |
||||
"build server": "iOS Builder", |
||||
"unique id": "Go Ethereum iOS Builder <geth-ci@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
'build server': 'iOS Builder', |
||||
'unique id': 'Go Ethereum iOS Builder <geth-ci@ethereum.org>', |
||||
'openpgp key': 'F9585DE6', |
||||
fingerprint: '8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6' |
||||
}, |
||||
{ |
||||
"build server": "Linux Builder", |
||||
"unique id": "Go Ethereum Linux Builder <geth-ci@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
'build server': 'Linux Builder', |
||||
'unique id': 'Go Ethereum Linux Builder <geth-ci@ethereum.org>', |
||||
'openpgp key': 'F9585DE6', |
||||
fingerprint: '8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6' |
||||
}, |
||||
{ |
||||
"build server": "macOS Builder", |
||||
"unique id": "Go Ethereum macOS Builder <geth-ci@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
'build server': 'macOS Builder', |
||||
'unique id': 'Go Ethereum macOS Builder <geth-ci@ethereum.org>', |
||||
'openpgp key': 'F9585DE6', |
||||
fingerprint: '8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6' |
||||
}, |
||||
{ |
||||
"build server": "Windows Builder", |
||||
"unique id": "Go Ethereum Windows Builder <geth-ci@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
}, |
||||
] |
||||
'build server': 'Windows Builder', |
||||
'unique id': 'Go Ethereum Windows Builder <geth-ci@ethereum.org>', |
||||
'openpgp key': 'F9585DE6', |
||||
fingerprint: '8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6' |
||||
} |
||||
]; |
||||
|
@ -1,20 +1,20 @@ |
||||
export const pgpDeveloperTestData = [ |
||||
{ |
||||
"developer": "Felix Lange", |
||||
"unique id": "Felix Lange <fjl@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
developer: 'Felix Lange', |
||||
'unique id': 'Felix Lange <fjl@ethereum.org>', |
||||
'openpgp key': 'F9585DE6', |
||||
fingerprint: '8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6' |
||||
}, |
||||
{ |
||||
"developer": "Martin Holst Swende", |
||||
"unique id": "Martin Holst Swende <martin.swende@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
developer: 'Martin Holst Swende', |
||||
'unique id': 'Martin Holst Swende <martin.swende@ethereum.org>', |
||||
'openpgp key': 'F9585DE6', |
||||
fingerprint: '8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6' |
||||
}, |
||||
{ |
||||
"developer": "Péter Szilágyi", |
||||
"unique id": "Péter Szilágyi <peter@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
}, |
||||
] |
||||
developer: 'Péter Szilágyi', |
||||
'unique id': 'Péter Szilágyi <peter@ethereum.org>', |
||||
'openpgp key': 'F9585DE6', |
||||
fingerprint: '8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6' |
||||
} |
||||
]; |
||||
|
@ -1,3 +1,3 @@ |
||||
export const shadows = { |
||||
linkBoxShadow: '0 0 0 1px #11866f !important' |
||||
} |
||||
}; |
||||
|
Loading…
Reference in new issue