Browse Source

Design updates

refactor
Hampus Sjöberg 4 years ago
parent
commit
c87bd8c414
  1. 16
      frontend/app.tsx
  2. 2
      frontend/components/Content.ts
  3. 52
      frontend/pages/index.tsx
  4. 35
      frontend/style/site.css

16
frontend/app.tsx

@ -8,6 +8,22 @@ export default function App({ Page, pageProps }: { Page: ComponentType<any>; pag
<link rel="stylesheet" href="./style/site.css" />
<link rel="stylesheet" href="./style/reset.css" />
</head>
<a href="https://github.com/hsjoberg/fork-explorer" className="github-corner" aria-label="View source on GitHub">
<svg width="80" height="80" viewBox="0 0 250 250" className="github-corner-svg" aria-hidden="true">
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
<path
d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
fill="currentColor"
style={{ transformOrigin: "130px 106px" }}
className="octo-arm"
></path>
<path
d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
fill="currentColor"
className="octo-body"
></path>
</svg>
</a>
<Page {...pageProps} />
</main>
);

2
frontend/components/Content.ts

@ -2,6 +2,6 @@ import styled from "https://esm.sh/styled-components";
export const Content = styled.div`
flex-direction: row;
width: 80%;
width: 90%;
max-width: 1462px;
`;

52
frontend/pages/index.tsx

@ -27,6 +27,12 @@ const Text = styled.p`
text-align: center;
`;
const TopSection = styled.div`
display: flex;
justify-content: space-between;
align-items: center;
`;
const CurrentPeriod = styled.h2`
font-size: 24px;
margin-bottom: 10px;
@ -34,6 +40,13 @@ const CurrentPeriod = styled.h2`
text-shadow: #000 3px 3px 0px;
`;
const LockinInfo = styled.h2`
font-size: 16px;
margin-bottom: 10px;
color: #ff9b20;
text-shadow: #000 3px 3px 0px;
`;
const BlockContainer = styled.div`
display: flex;
flex-direction: row;
@ -76,7 +89,7 @@ function Block({ height, signals }: IBlockProps) {
}
export default function Blocks() {
const [blocks, setBlocks] = useState<IBlock[] | undefined>(undefined);
const [blocks, setBlocks] = useState<IBlock[] | undefined>([]);
useEffect(() => {
(async () => {
@ -91,19 +104,50 @@ export default function Blocks() {
return <></>;
}
const forkName = config.fork.name;
const treshhold = Math.floor(2016 * 0.9);
const currentNumberOfSignallingBlocks = blocks.reduce(
(prev, currentBlock) => prev + +(currentBlock.signals ?? false),
0
);
const blocksLeftForActivation = treshhold - currentNumberOfSignallingBlocks;
const lockedIn = currentNumberOfSignallingBlocks >= treshhold;
const blocksLeftInThisPeriod = blocks.reduce((prev, currentBlock) => prev + +(currentBlock.signals === undefined), 0);
const currentPeriodFailed = blocksLeftForActivation > blocksLeftInThisPeriod;
return (
<Container>
<head>
<title>{config.fork.name} activation</title>
<title>{forkName} activation</title>
</head>
<Content>
<Title>{config.fork.name} activation</Title>
<Title>{forkName} activation</Title>
<DescriptionBlock>
{config.fork.info.map((text, index) => (
<Text key={index}>{text}</Text>
))}
</DescriptionBlock>
<CurrentPeriod>Current signalling period of 2016 blocks</CurrentPeriod>
<TopSection>
<CurrentPeriod>Current signalling period of 2016 blocks</CurrentPeriod>
<LockinInfo>
{!lockedIn && (
<>
{blocksLeftForActivation} {forkName} blocks left until softfork is locked in.
<br />
{!currentPeriodFailed && <>90% of the blocks within the period has to signal.</>}
{currentPeriodFailed && (
<>
{forkName} cannot be locked in within this period
<br />
(90% of the blocks has to signal).
</>
)}
</>
)}
{lockedIn && <>{forkName.toUpperCase()} IS LOCKED IN FOR DEPLOYMENT!</>}
</LockinInfo>
</TopSection>
<BlockContainer>
{blocks.map((block, i) => (
<Block key={i} height={block.height} signals={block.signals} />

35
frontend/style/site.css

@ -9,3 +9,38 @@ body {
"Segoe UI Emoji", "Segoe UI Symbol";
background-color: #242424;
}
/* GitHib corner button */
.github-corner:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0);
}
20%,
60% {
transform: rotate(-25deg);
}
40%,
80% {
transform: rotate(10deg);
}
}
@media (max-width: 500px) {
.github-corner:hover .octo-arm {
animation: none;
}
.github-corner .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
}
.github-corner-svg {
fill: #e5eaea;
color: #242424;
position: absolute;
top: 0;
border: 0;
right: 0;
}

Loading…
Cancel
Save