vbox bottom

This commit is contained in:
ntr 2019-08-08 18:05:08 +10:00
parent 4906eb3e39
commit d74ca61d57
6 changed files with 60 additions and 22 deletions

View File

@ -4,11 +4,16 @@
overflow-x: hidden; overflow-x: hidden;
display: grid; display: grid;
grid-template-columns: 2fr minmax(min-content, 1fr); grid-template-columns: 2fr minmax(min-content, 1fr);
grid-template-rows: min-content 1fr; grid-template-rows: 1fr min-content min-content;
grid-template-areas: grid-template-areas:
"vbox info" "constructs constructs"
"constructs info"; "rule rule"
"vbox info";
hr {
grid-area: rule;
}
} }
@media (max-width: 1920px) { @media (max-width: 1920px) {
@ -30,9 +35,26 @@
align-content: center; align-content: center;
} }
.scoreboard .ready { .scoreboard {
display: flex;
flex-flow: column;
height: 100%;
table {
flex: 1;
}
button {
margin: 2em 0 0 0;
flex: 1;
font-size: 200%;
border-color: @green;
}
.ready {
background: black; background: black;
color: forestgreen; color: forestgreen;
}
} }
.instance .info { .instance .info {
@ -154,12 +176,12 @@
.instance-construct { .instance-construct {
flex: 1; flex: 1;
display: grid; display: grid;
grid-template-rows: min-content min-content min-content 1fr min-content; grid-template-rows: min-content 1fr min-content min-content min-content;
grid-template-areas: grid-template-areas:
"name " "name "
"avatar "
"skills " "skills "
"specs " "specs "
"avatar "
"stats "; "stats ";
/*padding: 0.5em;*/ /*padding: 0.5em;*/
@ -205,6 +227,7 @@
.specs { .specs {
grid-area: specs; grid-area: specs;
padding: 0 0.5em; padding: 0 0.5em;
margin-bottom: 0.75em;
display: grid; display: grid;
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr);

View File

@ -81,11 +81,12 @@ figure {
grid-template-rows: min-content 1fr min-content; grid-template-rows: min-content 1fr min-content;
grid-template-areas: grid-template-areas:
"hd hd" "hd hd"
"nav main" "main main"
"footer footer"; "main main";
} }
nav { nav {
display: none;
grid-area: nav; grid-area: nav;
padding-left: 2em; padding-left: 2em;
margin-right: 2em; margin-right: 2em;
@ -134,8 +135,7 @@ nav button:focus, nav button:active {
} }
main { main {
padding-top: 1em; padding: 1em;
padding-right: 1em;
grid-area: main; grid-area: main;
} }
@ -627,7 +627,7 @@ main .top button {
} }
footer { footer {
display: flex; display: none;
flex-flow: row wrap; flex-flow: row wrap;
grid-area: footer; grid-area: footer;
margin: 0; margin: 0;

View File

@ -21,6 +21,10 @@
display: none; display: none;
} }
footer {
display: flex;
}
#nav-btn, #instance-nav { #nav-btn, #instance-nav {
display: unset; display: unset;
} }

View File

@ -1,8 +1,6 @@
@import 'colours.less'; @import 'colours.less';
.vbox { .vbox {
margin-bottom: 2em;
.vbox-hdr { .vbox-hdr {
margin-bottom: 1em; margin-bottom: 1em;
height: 2em; height: 2em;

View File

@ -63,6 +63,7 @@ function Instance(args) {
<main class={instanceClasses} onClick={instanceClick} onMouseOver={() => setInfo(null)} > <main class={instanceClasses} onClick={instanceClick} onMouseOver={() => setInfo(null)} >
<Vbox /> <Vbox />
<InfoContainer /> <InfoContainer />
<hr />
<InstanceConstructsContainer /> <InstanceConstructsContainer />
</main> </main>
); );

View File

@ -3,14 +3,23 @@ const { connect } = require('preact-redux');
const addState = connect( const addState = connect(
function receiveState(state) { function receiveState(state) {
const { instance } = state; const {
return { instance }; ws,
instance
} = state;
function sendInstanceReady() {
return ws.sendInstanceReady(instance.id);
}
return { instance, sendInstanceReady };
}, },
); );
function ScoreBoard(args) { function ScoreBoard(args) {
const { const {
instance, instance,
sendInstanceReady
} = args; } = args;
const players = instance.players.map((p, i) => { const players = instance.players.map((p, i) => {
@ -37,11 +46,14 @@ function ScoreBoard(args) {
}); });
return ( return (
<table class="scoreboard" > <div class="scoreboard">
<table>
<tbody> <tbody>
{players} {players}
</tbody> </tbody>
</table> </table>
<button class="ready" onClick={() => sendInstanceReady}>Ready</button>
</div>
); );
} }