PlayerList
This commit is contained in:
parent
0548515390
commit
0e67101943
@ -1,8 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="play">
|
<div class="play">
|
||||||
|
<div class="play__layout">
|
||||||
|
<div class="play__layout-playground">
|
||||||
<Quote :text="quote" />
|
<Quote :text="quote" />
|
||||||
<Sources :sources="sources" />
|
<Sources :sources="sources" />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="play__layout-right-column">
|
||||||
|
<PlayerList :players="players" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -17,6 +24,9 @@ export default {
|
|||||||
sources() {
|
sources() {
|
||||||
return this.$store.state.round.sources
|
return this.$store.state.round.sources
|
||||||
},
|
},
|
||||||
|
players() {
|
||||||
|
return this.$store.state.players.players
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -35,5 +45,21 @@ body,
|
|||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
|
&__layout {
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
&-playground {
|
||||||
|
position: relative;
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-right-column {
|
||||||
|
width: 200px;
|
||||||
|
margin: 16px 16px 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
54
client/src/components/PlayerList.vue
Normal file
54
client/src/components/PlayerList.vue
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<template>
|
||||||
|
<div class="player-list">
|
||||||
|
<div class="player-list__player" v-for="player in players" :key="player.id">
|
||||||
|
<div class="player-list__player-status">
|
||||||
|
{{ player.isIdle ? '◯' : '⬤' }}
|
||||||
|
</div>
|
||||||
|
<div class="player-list__player-name">
|
||||||
|
{{ player.name + player.name + player.name + player.name }}
|
||||||
|
</div>
|
||||||
|
<div class="player-list__player-score">
|
||||||
|
{{ player.score || 0 }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: ['players'],
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.player-list {
|
||||||
|
padding: 8px 16px;
|
||||||
|
border: 1px solid #ffffff;
|
||||||
|
background-color: rgba(64, 32, 128, 0.5);
|
||||||
|
|
||||||
|
&__player {
|
||||||
|
display: flex;
|
||||||
|
// height: 1.4em;
|
||||||
|
color: #ffffff;
|
||||||
|
font-family: Dosis;
|
||||||
|
font-size: 12px;
|
||||||
|
|
||||||
|
&-name {
|
||||||
|
display: inline;
|
||||||
|
flex-grow: 1;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
&-status {
|
||||||
|
margin-right: 8px;
|
||||||
|
font-size: 8px;
|
||||||
|
}
|
||||||
|
&-score {
|
||||||
|
width: 32px;
|
||||||
|
margin-left: 16px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -23,6 +23,7 @@ export default {
|
|||||||
margin: -15px 0 0 -90px;
|
margin: -15px 0 0 -90px;
|
||||||
border: 1px solid #e0e0e0;
|
border: 1px solid #e0e0e0;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
background-color: #402080;
|
||||||
|
|
||||||
&__source {
|
&__source {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -32,7 +33,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: rgba(128,128,128,0.5);
|
background-color: #8060c0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,5 +3,6 @@ export default function(data) {
|
|||||||
|
|
||||||
store.commit('engine/setJson', data)
|
store.commit('engine/setJson', data)
|
||||||
store.commit('game/setStateAndPhase', data.game)
|
store.commit('game/setStateAndPhase', data.game)
|
||||||
|
store.commit('players/setPlayers', data.game)
|
||||||
store.commit('round/setRound', data.game)
|
store.commit('round/setRound', data.game)
|
||||||
}
|
}
|
||||||
|
13
client/src/store/players.js
Normal file
13
client/src/store/players.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
export const state = () => ({
|
||||||
|
players: [],
|
||||||
|
})
|
||||||
|
|
||||||
|
export const mutations = {
|
||||||
|
setPlayers(state, game) {
|
||||||
|
if (game) {
|
||||||
|
state.players = game.players
|
||||||
|
} else {
|
||||||
|
state.players = []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user