Update frontend

This commit is contained in:
Dominic Zimmer 2022-10-29 16:20:58 +02:00
parent cb5a143623
commit cb9494c89a
2 changed files with 102 additions and 28 deletions

View File

@ -2,12 +2,13 @@ span {
color: white;
}
.stream > div {
width: 300px;
height: 1080px;
width: 290px;
height: 1070px;
background-color: black;
padding: 5px;
display: flex;
flex-direction: column;
justify-content: space-around;
}
.heading {
display: flex;
@ -81,7 +82,7 @@ span {
border-radius: 20px;
padding: 4px;
gap: 2px;
margin: 15%;
width: 200px;
display: flex;
flex-direction: column;
align-items: flex-start;
@ -89,4 +90,66 @@ span {
pre {
color: white;
}
.info {
height: 35%;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
}
.info .heading {
display: block;
font-weight: bold;
color: #e8ff37;
font-size: 30pt;
text-align: center;
}
.info .link {
display: block;
font-weight: bold;
color: #49ff4f;
font-size: 24pt;
text-align: center;
}
.info .text {
display: block;
font-weight: bold;
font-size: 24pt;
text-align: center;
}
.info hr {
width: 100%;
}
.scoreboard {
display: flex;
flex-direction: column;
align-items: center;
}
.pokeball {
height: 200px;
width: 200px;
position: relative;
}
.pokeball :first-child {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: red;
clip-path: polygon(0% 0%, 0% 50%, 100% 50%, 100% 0%);
border-radius: 50%;
}
.pokeball :last-child {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: white;
clip-path: polygon(0% 50%, 0% 100%, 100% 100%, 100% 50%);
border-radius: 50%;
}

View File

@ -36,33 +36,44 @@ const TVMode = () => {
{state === undefined ?
<span>Loading...</span> :
<div>
<span className={`mode mode-${state.mode}`}>{state.mode}</span>
<div className="row">
<div>
<span>
next:&nbsp;
</span>
<span className={`subtitle mode-${state.nextMode}`}>{state.nextMode}</span>
<div className="info">
<span className="heading">
LAN-Party Plays Pokemon
</span>
<span className="text">
Join with your phone on
</span>
<span className="link">
http://pokemon.lan/
</span>
<span className="text">
and become the very best!
</span>
<hr />
</div>
<div className="scoreboard">
<span className={`mode mode-${state.mode}`}>{state.mode}</span>
<div className="row">
<div>
<span>
next:&nbsp;
</span>
<span className={`subtitle mode-${state.nextMode}`}>{state.nextMode}</span>
</div>
<span className="timer">{Math.round(state.timeUntilNextMode ?? 0)}s </span>
</div>
<div className="voting">
{voteList.flatMap(([b, numVotes], index) => {
const percentage = numVotes === 0 ? 0 : Math.round(numVotes / totalCount * 100);
return <div className="vote" style={{ "--vote-percentage": percentage + "%" } as CSSProperties} key={index}>
<div className="bar-wrap">
<div className="bar" style={{ "--vote-percentage": percentage + "%" } as CSSProperties} >{b}</div>
</div>
<span className="percentage">{percentage === 0 ? "" : `${percentage}%`}</span>
</div>;
})}
</div>
<span className="timer">{Math.round(state.timeUntilNextMode ?? 0)}s </span>
</div>
<div className="voting">
{voteList.flatMap(([b, numVotes], index) => {
const percentage = numVotes === 0 ? 0 : Math.round(numVotes / totalCount * 100);
return <div className="vote" style={{ "--vote-percentage": percentage + "%" } as CSSProperties} key={index}>
<div className="bar-wrap">
<div className="bar" style={{ "--vote-percentage": percentage + "%" } as CSSProperties} >{b}</div>
</div>
<span className="percentage">{percentage === 0 ? "" : `${percentage}%`}</span>
</div>;
})}
</div>
<div>
Current state: <pre>
{JSON.stringify(state, null, 4)}
</pre>
</div>
</div>
}
</div>;