Skip to content

Commit

Permalink
update roadmap (#624)
Browse files Browse the repository at this point in the history
* basic structure for l2 roadmap

* implemented simple version

* small fixes

* fix merge issues

* update roadmap

* update content + add a new status

* update roadmap

* adjust responsive checkpoint

* add link to faqs

* update l2 content json
  • Loading branch information
storywithoutend authored Jun 20, 2024
1 parent 3a18325 commit da9b3b7
Show file tree
Hide file tree
Showing 24 changed files with 1,047 additions and 139 deletions.
2 changes: 1 addition & 1 deletion gatsby-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ module.exports = {
resolve: 'gatsby-plugin-react-svg',
options: {
rule: {
include: /assets\/social/,
include: /assets\/(social|roadmap)/,
},
},
},
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,6 @@
},
"bugs": {
"url": "https://github.com/ensdomains/ensdomains-landing-v2/issues"
}
},
"packageManager": "[email protected]"
}
2 changes: 1 addition & 1 deletion src/assets/ENSLogo.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export function ENSLogo({ style }) {
xmlns="http://www.w3.org/2000/svg"
style={{ width: '100%', height: '100%' }}
>
<g clip-path="url(#clip0_3_75)">
<g clipPath="url(#clip0_3_75)">
<path
d="M4.71225 9.4113C5.0886 8.71657 5.63175 8.12429 6.29378 7.68672L17.4043 0L6.02023 18.6501C6.02023 18.6501 5.02555 16.9848 4.63763 16.1421C4.15422 15.0826 3.91042 13.9312 3.9233 12.7685C3.93619 11.6059 4.20548 10.46 4.71225 9.4113ZM0.12679 22.2767C0.252236 24.0602 0.760845 25.7966 1.61856 27.3695C2.47628 28.9426 3.6633 30.3157 5.10016 31.3973L17.3893 39.8872C17.3893 39.8872 9.70051 28.909 3.21526 17.985C2.55868 16.8309 2.1173 15.569 1.91223 14.2599C1.82145 13.6671 1.82145 13.064 1.91223 12.4712C1.74313 12.7817 1.41489 13.4173 1.41489 13.4173C0.75731 14.746 0.309466 16.1668 0.087004 17.6302C-0.0410432 19.1771 -0.0277268 20.7322 0.12679 22.2767ZM31.459 23.7549C31.061 22.9123 30.0764 21.2468 30.0764 21.2468L18.7123 39.8872L29.8227 32.2054C30.4848 31.7678 31.0279 31.1756 31.4043 30.4809C31.9111 29.4321 32.1803 28.2862 32.1933 27.1237C32.2062 25.961 31.9623 24.8095 31.4789 23.75L31.459 23.7549ZM35.9698 17.6154C35.8443 15.832 35.3357 14.0955 34.4781 12.5226C33.6203 10.9496 32.4333 9.57638 30.9964 8.49482L18.7271 0C18.7271 0 26.411 10.9782 32.9013 21.9022C33.5561 23.0567 33.9957 24.3185 34.1993 25.6273C34.2901 26.2201 34.2901 26.8232 34.1993 27.416C34.3684 27.1055 34.6966 26.4699 34.6966 26.4699C35.3542 25.1412 35.8021 23.7204 36.0245 22.257C36.1542 20.7102 36.1426 19.1551 35.9898 17.6105L35.9698 17.6154Z"
fill={fill}
Expand Down
3 changes: 3 additions & 0 deletions src/assets/roadmap/ArrowheadDown.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions src/assets/roadmap/Pencil.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/assets/social/SocialGithub.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
185 changes: 185 additions & 0 deletions src/components/AnnouncementBanner.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
import { Button, Typography } from '@ensdomains/thorin_next';
import { mq } from '@ensdomains/thorin_next';
import { Link } from 'gatsby';
import React from 'react';
import styled, { css } from 'styled-components';

const Banner = styled.div(
({ theme, $border }) => css`
border-radius: ${theme.radii['2xLarge']};
border: ${theme.borderWidths[1]} solid ${theme.colors.background};
background: linear-gradient(90deg, #eef5ff 20.5%, #e7f4ef 76.5%);
display: flex;
flex-direction: column;
padding: ${theme.space['5']};
gap: ${theme.space['6']};
text-align: center;
background: linear-gradient(180deg, #eef5ff 20.5%, #e7f4ef 76.5%);
${$border &&
css`
border: ${theme.space['1']} solid ${theme.colors.background};
box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.02);
`}
${mq.md.min(css`
flex-direction: row;
background: linear-gradient(90deg, #eef5ff 20.5%, #e7f4ef 76.5%);
padding: ${theme.space['6']};
align-items: flex-start;
gap: ${theme.space['6']};
align-self: stretch;
text-align: left;
${$border &&
css`
border: ${theme.space['2']} solid ${theme.colors.background};
`}
`)}
`
);

const L2Container = styled.div(
({ theme }) => css`
display: flex;
flex-direction: column;
gap: ${theme.space['6']};
`
);

const DynamicTypography = styled(Typography)(
({ theme }) => css`
text-align: center;
${mq.md.min(css`
text-align: left;
`)}
`
);

const IconWrapper = styled.div(
({ theme }) => css`
font-feature-settings: 'ss04' on, 'ss03' on, 'ss01' on;
font-family: Satoshi;
font-size: 54px;
font-style: normal;
font-weight: 700;
line-height: 72px;
text-align: center;
`
);

const Content = styled.div(
({ theme }) => css`
flex: 1;
display: flex;
flex-direction: column;
gap: ${theme.space['1']};
`
);

const ButtonContainer = styled.div(
({ theme }) => css`
display: flex;
flex-direction: column;
justify-content: stretch;
gap: ${theme.space['4']};
${mq.md.min(css`
flex-direction: row;
justify-content: flex-start;
`)}
`
);

const ButtonWrapper = styled.div(
({ theme }) => css`
display: flex;
align-items: center;
gap: ${theme.space['2']};
`
);

const CustomButton = styled.a(
({ theme }) => css`
background-color: ${theme.colors.background};
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: ${theme.space['4']};
width: 100%;
overflow: hidden;
border-radius: ${theme.radii.large};
transition: transform 0.2s, background-color 0.2s;
&:hover {
transform: translateY(-1px);
background-color: ${theme.colors.greySurface};
}
${mq.md.min(css`
width: fit-content;
`)}
`
);

export default function AnnouncementBanner({
title,
description,
primaryButton,
secondaryButton,
border = true,
}) {
return (
<Banner $border={border}>
<IconWrapper>🎉</IconWrapper>
<L2Container>
<Content>
<DynamicTypography fontVariant="headingTwo">
{title}
</DynamicTypography>
<DynamicTypography fontVariant="body">
{description}
</DynamicTypography>
</Content>
<ButtonContainer>
{primaryButton && primaryButton.to && (
<Link to={primaryButton.to}>
<Button
colorStyle="greenPrimary"
suffix={primaryButton.suffix}
>
{primaryButton.label}
</Button>
</Link>
)}
{primaryButton && primaryButton.href && (
<div>
<Button
as="a"
target="_blank"
href={primaryButton.href}
colorStyle="greenPrimary"
suffix={primaryButton.suffix}
>
{primaryButton.label}
</Button>
</div>
)}
{secondaryButton && secondaryButton.href && (
<CustomButton
href={secondaryButton.href}
target="_blank"
>
<Typography
color="greenPrimary"
fontVariant="boldyBold"
>
{secondaryButton.label}
</Typography>
</CustomButton>
)}
</ButtonContainer>
</L2Container>
</Banner>
);
}
3 changes: 2 additions & 1 deletion src/components/Home/PortableUsername/PortableUsername.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@ const Avatar = () => {
useEffect(() => {
window.addEventListener('scroll', () => {
window.requestAnimationFrame(() => {
if (!containerReferenceOne.current ) return
if (!containerReferenceOne.current) return;

const containerOneTop =
containerReferenceOne.current.getBoundingClientRect().top;
const opacity =
Expand Down
87 changes: 87 additions & 0 deletions src/components/L2Roadmap/ContractCard.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
import { InfoCircleSVG, Typography } from '@ensdomains/thorin_next';
import React from 'react';
import styled, { css } from 'styled-components';

import ContractLinks from './ContractLinks';
import ContractModal from './ContractModal';
import ContractStatus from './ContractStatus';

const Container = styled.div(
({ theme, $color }) => css`
display: flex;
flex-direction: column;
width: ${theme.space.full};
min-height: 130px;
border-radius: ${theme.radii.large};
background: ${theme.colors.blueSurface};
overflow: hidden;
border: 1px solid ${theme.colors.bluePrimary};
${$color === 'green' &&
css`
background: ${theme.colors.greenSurface};
border-color: ${theme.colors.greenPrimary};
`}
`
);

const Header = styled.div(
({ theme }) => css`
display: flex;
flex-direction: column;
justify-content: space-between;
padding: ${theme.space['3']};
gap: ${theme.space['6']};
flex: 1;
`
);

const Footer = styled.div(
({ theme, $color }) => css`
display: flex;
justify-content: space-between;
align-items: center;
gap: ${theme.space['4']};
background: ${theme.colors.background};
padding: ${theme.space['3']};
> :last-child {
color: ${theme.colors[`${$color}Primary`]};
width: 16px;
height: 16px;
}
`
);

export default function ContractCard({
title,
color,
status = 'research',
links = [],
phase,
...properties
}) {
const [showModal, setShowModal] = React.useState(false);

return (
<React.Fragment>
<Container $color={color} onClick={() => setShowModal(true)}>
<Header>
<Typography fontVariant="bodyBold" color="text">
{title}
</Typography>
<ContractLinks links={links} color="text" hover={color} />
</Header>
<Footer $color={color}>
<ContractStatus status={status} />
<InfoCircleSVG />
</Footer>
</Container>
<ContractModal
{...{ title, status, color, phase, links, ...properties }}
open={showModal}
onDismiss={() => setShowModal(false)}
/>
</React.Fragment>
);
}
Loading

0 comments on commit da9b3b7

Please sign in to comment.