X-Git-Url: https://git.auder.net/doc/screen_ranking.png?a=blobdiff_plain;ds=sidebyside;f=client%2Fsrc%2Fviews%2FHall.vue;h=2180509c6ce3adbb77d8d155b6523743f3665540;hb=dac395887d96e2d642b209c6db6aaacc3ffacb34;hp=674305a2e950056a00d76d00b31ff884431b43d9;hpb=03608482744c433ad284f4b61e85b2e8cff4f5f3;p=vchess.git
diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue
index 674305a2..2180509c 100644
--- a/client/src/views/Hall.vue
+++ b/client/src/views/Hall.vue
@@ -1,315 +1,707 @@
main
+ input#modalInfo.modal(type="checkbox")
+ div(role="dialog" aria-labelledby="infoMessage")
+ .card.smallpad.small-modal.text-center
+ label.modal-close(for="modalInfo")
+ h3#infoMessage.section
+ p(v-html="infoMessage")
input#modalNewgame.modal(type="checkbox")
- div(role="dialog" aria-labelledby="titleFenedit")
- .card.smallpad
+ div(role="dialog" data-checkbox="modalNewgame"
+ aria-labelledby="titleFenedit")
+ .card.smallpad(@keyup.enter="newChallenge")
label#closeNewgame.modal-close(for="modalNewgame")
fieldset
label(for="selectVariant") {{ st.tr["Variant"] }}
select#selectVariant(v-model="newchallenge.vid")
- option(v-for="v in st.variants" :value="v.id") {{ v.name }}
+ option(v-for="v in st.variants" :value="v.id"
+ :selected="newchallenge.vid==v.id")
+ | {{ v.name }}
fieldset
- label(for="selectNbPlayers") {{ st.tr["Number of players"] }}
- select#selectNbPlayers(v-model="newchallenge.nbPlayers")
- option(v-show="possibleNbplayers(2)" value="2") 2
- option(v-show="possibleNbplayers(3)" value="3") 3
- option(v-show="possibleNbplayers(4)" value="4") 4
- fieldset
- label(for="timeControl") Time control (e.g. 3m, 1h+30s, 7d+1d)
+ label(for="timeControl") {{ st.tr["Time control"] }}
+ div#predefinedTimeControls
+ button 3+2
+ button 5+3
+ button 15+5
input#timeControl(type="text" v-model="newchallenge.timeControl"
- placeholder="Time control")
- fieldset
+ placeholder="5+0, 1h+30s, 7d+1d ...")
+ fieldset(v-if="st.user.id > 0")
label(for="selectPlayers") {{ st.tr["Play with? (optional)"] }}
- #selectPlayers
- input(type="text" v-model="newchallenge.to[0].name")
- input(v-show="newchallenge.nbPlayers>=3" type="text"
- v-model="newchallenge.to[1].name")
- input(v-show="newchallenge.nbPlayers==4" type="text"
- v-model="newchallenge.to[2].name")
- fieldset
+ input#selectPlayers(type="text" v-model="newchallenge.to")
+ fieldset(v-if="st.user.id > 0 && newchallenge.to.length > 0")
label(for="inputFen") {{ st.tr["FEN (optional)"] }}
input#inputFen(type="text" v-model="newchallenge.fen")
- button(@click="newChallenge") Send challenge
+ button(@click="newChallenge") {{ st.tr["Send challenge"] }}
.row
- .col-sm-12.col-md-5.col-md-offset-1.col-lg-4.col-lg-offset-2
- .button-group
- button(@click="cpdisplay='challenges'") Challenges
- button(@click="cpdisplay='players'") Players
- ChallengeList(v-show="cpdisplay=='challenges'"
- :challenges="challenges" @click-challenge="clickChallenge")
- #players(v-show="cpdisplay=='players'")
- h3 Online players
- //TODO: uniquePlayers, show "5 anonymous", and do nothing on click on anonymous
- div(v-for="p in uniquePlayers" @click="challenge(p)") {{ p.name }}
- .row
- .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
- button(onClick="doClick('modalNewgame')") New game
+ .col-sm-12
+ button#newGame(onClick="doClick('modalNewgame')") New game
.row
.col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
- .button-group
- button(@click="gdisplay='live'") Live games
- button(@click="gdisplay='corr'") Correspondance games
- GameList(v-show="gdisplay=='live'" :games="liveGames"
- @show-game="showGame")
- GameList(v-show="gdisplay=='corr'" :games="corrGames"
- @show-game="showGame")
+ div
+ .button-group
+ button(@click="(e) => setDisplay('c','live',e)" class="active")
+ | Live Challenges
+ button(@click="(e) => setDisplay('c','corr',e)")
+ | Correspondance challenges
+ ChallengeList(v-show="cdisplay=='live'"
+ :challenges="filterChallenges('live')" @click-challenge="clickChallenge")
+ ChallengeList(v-show="cdisplay=='corr'"
+ :challenges="filterChallenges('corr')" @click-challenge="clickChallenge")
+ #people
+ h3.text-center Who's there?
+ #players
+ p(v-for="p in Object.values(people)" v-if="!!p.name")
+ span {{ p.name }}
+ button.player-action(
+ v-if="p.name != st.user.name"
+ @click="challOrWatch(p,$event)"
+ )
+ | {{ whatPlayerDoes(p) }}
+ p.anonymous @nonymous ({{ anonymousCount }})
+ #chat
+ Chat(:players="[]")
+ .clearer
+ div
+ .button-group
+ button(@click="(e) => setDisplay('g','live',e)" class="active")
+ | Live games
+ button(@click="(e) => setDisplay('g','corr',e)")
+ | Correspondance games
+ GameList(v-show="gdisplay=='live'" :games="filterGames('live')"
+ @show-game="showGame")
+ GameList(v-show="gdisplay=='corr'" :games="filterGames('corr')"
+ @show-game="showGame")
-