Skip to content

Commit af4323b

Browse files
authored
Merge pull request #1360 from kleros/chore(web)/testnet-banner
chore(web): add-testnet-banner
2 parents d3fc190 + 7451435 commit af4323b

File tree

3 files changed

+94
-29
lines changed

3 files changed

+94
-29
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import React from "react";
2+
import styled, { css } from "styled-components";
3+
import { landscapeStyle } from "styles/landscapeStyle";
4+
5+
const Container = styled.div`
6+
width: 100%;
7+
position: sticky;
8+
top: 0;
9+
background-color: ${({ theme }) => theme.tintPurple};
10+
color: ${({ theme }) => theme.primaryText};
11+
12+
padding: 6px 2px;
13+
14+
${landscapeStyle(
15+
() => css`
16+
padding: 8px 10px;
17+
`
18+
)}
19+
`;
20+
21+
const StyledP = styled.p`
22+
font-size: 14px;
23+
text-align: center;
24+
margin: 0;
25+
`;
26+
27+
export const TestnetBanner: React.FC = () => {
28+
return (
29+
<Container>
30+
<StyledP>
31+
Thanks for trying Kleros V2! This a testnet release: work is still in progress and some features are missing.
32+
More info{" "}
33+
<a href="https://docs.kleros.io/products/court-v2" target="_blank" rel="noreferrer">
34+
here
35+
</a>
36+
.
37+
</StyledP>
38+
</Container>
39+
);
40+
};

web/src/layout/Header/index.tsx

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,22 @@ import React from "react";
22
import styled from "styled-components";
33
import MobileHeader from "./MobileHeader";
44
import DesktopHeader from "./DesktopHeader";
5+
import { TestnetBanner } from "./TestnetBanner";
56

67
const Container = styled.div`
78
position: sticky;
89
z-index: 1;
910
top: 0;
1011
width: 100%;
11-
height: 64px;
1212
background-color: ${({ theme }) => theme.primaryPurple};
1313
14-
padding: 0 24px;
1514
display: flex;
15+
flex-wrap: wrap;
16+
`;
17+
18+
const HeaderContainer = styled.div`
19+
width: 100%;
20+
padding: 4px 24px 8px;
1621
`;
1722

1823
export const PopupContainer = styled.div`
@@ -27,8 +32,11 @@ export const PopupContainer = styled.div`
2732
const Header: React.FC = () => {
2833
return (
2934
<Container>
30-
<DesktopHeader />
31-
<MobileHeader />
35+
{process.env.REACT_APP_DEPLOYMENT === "testnet" ? <TestnetBanner /> : null}
36+
<HeaderContainer>
37+
<DesktopHeader />
38+
<MobileHeader />
39+
</HeaderContainer>
3240
</Container>
3341
);
3442
};

web/src/layout/Header/navbar/index.tsx

Lines changed: 42 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,26 @@ import Settings from "./Menu/Settings";
1616
import { DisconnectWalletButton } from "./Menu/Settings/General";
1717
import { PopupContainer } from "..";
1818

19+
const Wrapper = styled.div<{ isOpen: boolean }>`
20+
visibility: ${({ isOpen }) => (isOpen ? "visible" : "hidden")};
21+
position: absolute;
22+
top: 100%;
23+
left: 0;
24+
width: 100vw;
25+
height: 100vh;
26+
z-index: 30;
27+
`;
28+
29+
const StyledOverlay = styled(Overlay)`
30+
top: unset;
31+
`;
32+
1933
const Container = styled.div<{ isOpen: boolean }>`
2034
position: absolute;
21-
top: 64px;
35+
top: 0;
2236
left: 0;
2337
right: 0;
24-
max-height: calc(100vh - 64px);
38+
max-height: calc(100vh - 160px);
2539
overflow-y: auto;
2640
z-index: 1;
2741
background-color: ${({ theme }) => theme.whiteBackground};
@@ -74,29 +88,32 @@ const NavBar: React.FC = () => {
7488

7589
return (
7690
<>
77-
<Container {...{ isOpen }}>
78-
<LightButton
79-
text="Kleros Solutions"
80-
onClick={() => {
81-
toggleIsDappListOpen();
82-
}}
83-
Icon={KlerosSolutionsIcon}
84-
/>
85-
<hr />
86-
<Explore />
87-
<hr />
88-
<WalletContainer>
89-
<ConnectWallet />
90-
{isConnected && (
91-
<DisconnectWalletButtonContainer>
92-
<DisconnectWalletButton />
93-
</DisconnectWalletButtonContainer>
94-
)}
95-
</WalletContainer>
96-
<hr />
97-
<Menu {...{ toggleIsHelpOpen, toggleIsSettingsOpen }} />
98-
<br />
99-
</Container>
91+
<Wrapper {...{ isOpen }}>
92+
<StyledOverlay />
93+
<Container {...{ isOpen }}>
94+
<LightButton
95+
text="Kleros Solutions"
96+
onClick={() => {
97+
toggleIsDappListOpen();
98+
}}
99+
Icon={KlerosSolutionsIcon}
100+
/>
101+
<hr />
102+
<Explore />
103+
<hr />
104+
<WalletContainer>
105+
<ConnectWallet />
106+
{isConnected && (
107+
<DisconnectWalletButtonContainer>
108+
<DisconnectWalletButton />
109+
</DisconnectWalletButtonContainer>
110+
)}
111+
</WalletContainer>
112+
<hr />
113+
<Menu {...{ toggleIsHelpOpen, toggleIsSettingsOpen }} />
114+
<br />
115+
</Container>
116+
</Wrapper>
100117
{(isDappListOpen || isHelpOpen || isSettingsOpen) && (
101118
<PopupContainer>
102119
<Overlay />

0 commit comments

Comments
 (0)