-
Notifications
You must be signed in to change notification settings - Fork 213
/
Copy pathFooter.tsx
136 lines (126 loc) · 3.94 KB
/
Footer.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
import React from 'react';
import { FormattedMessage } from 'react-intl';
import styled from 'styled-components';
import { useLocation } from 'react-router-dom';
import { Heading } from './Heading';
import { routesEnum } from '../Routes';
import { Link } from './Link';
import { Button } from './Button';
const Rhino = styled.span`
font-size: 20px;
`;
const RainbowBackground = styled.div`
min-width: 100%;
overflow: hidden;
background-image: ${p =>
`radial-gradient(circle at 100% -80%, ${p.theme.rainbowLight})`};
`;
const FooterStyles = styled.div`
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 4rem;
@media screen and (max-width: 1080px) {
flex-direction: column;
}
@media screen and (max-width: 960px) {
.cta-button {
display: none;
}
}
@media screen and (max-width: 518px) {
.extra-links {
margin-top: 1rem;
}
}
`;
const ButtonContainer = styled.div`
display: flex;
justify-content: center;
`;
const ButtonLink = styled(Link)`
width: fit-content;
padding: 0;
`;
export const Footer = () => {
const { pathname } = useLocation();
const despotWorkflowRoutes = [
routesEnum.acknowledgementPage,
routesEnum.selectClient,
routesEnum.generateKeysPage,
routesEnum.uploadValidatorPage,
routesEnum.connectWalletPage,
routesEnum.summaryPage,
routesEnum.transactionsPage,
routesEnum.congratulationsPage,
routesEnum.topUpPage,
];
return (
<RainbowBackground>
<FooterStyles>
<div className="col">
<Heading level={4}>
<FormattedMessage defaultMessage="Staking Launchpad" />
</Heading>
<Link to={routesEnum.acknowledgementPage}>
<FormattedMessage defaultMessage="Deposit" />
</Link>
<Link to={routesEnum.checklistPage}>
<FormattedMessage defaultMessage="Checklist" />
</Link>
<Link to={routesEnum.FaqPage}>
<FormattedMessage defaultMessage="FAQ" />
</Link>
<Link to={routesEnum.termsOfServicePage}>
<FormattedMessage defaultMessage="Terms of Service" />
</Link>
</div>
{!despotWorkflowRoutes.includes(pathname as routesEnum) && (
<ButtonContainer className="m-auto">
<ButtonLink
to={routesEnum.acknowledgementPage}
className="cta-button"
>
<Button
rainbow
fullWidth
width={400}
label={
<FormattedMessage
defaultMessage="Become a validator {emoji}"
values={{
emoji: (
<Rhino>
<span role="img" aria-label="rhino">
🦏
</span>
</Rhino>
),
}}
/>
}
/>
</ButtonLink>
</ButtonContainer>
)}
<div className="col extra-links">
<Heading level={4}>
<FormattedMessage defaultMessage="More on staking" />
</Heading>
<Link to="https://ethereum.org/en/roadmap/">
<FormattedMessage defaultMessage="The Ethereum roadmap" />
</Link>
<Link to={routesEnum.phishingPage}>
<FormattedMessage defaultMessage="Avoid phishing" />
</Link>
<Link to="https://docs.google.com/spreadsheets/d/15tmPOvOgi3wKxJw7KQJKoUe-uonbYR6HF7u83LR5Mj4/edit#gid=842896204">
<FormattedMessage defaultMessage="Staking economics" />
</Link>
<Link to="https://github.com/runtimeverification/deposit-contract-verification/blob/96434de/deposit-contract-verification.pdf">
<FormattedMessage defaultMessage="Formal verification report" />
</Link>
</div>
</FooterStyles>
</RainbowBackground>
);
};