X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FHall.vue;h=db8f528b00f069f844b125e83a75715c849dc984;hb=120fe373ca3b9e83e33bd59979af10fe09350fc5;hp=b6cac488562df6607e69cd938d957a6828e2536e;hpb=d9b86b16e70ba5acbeb09cf553e45e675667e1b1;p=vchess.git
diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue
index b6cac488..db8f528b 100644
--- a/client/src/views/Hall.vue
+++ b/client/src/views/Hall.vue
@@ -1,64 +1,76 @@
main
+ input#modalInfo.modal(type="checkbox")
+ div#infoDiv(role="dialog" data-checkbox="modalInfo" 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#newgameDiv(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"] }}
+ 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="timeControl") {{ st.tr["Time control"] }}
+ 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="3m+2s, 1h+30s, 7d+1d ...")
+ placeholder="5+0, 1h+30s, 7d+1d ...")
fieldset(v-if="st.user.id > 0")
- label(for="selectPlayers") {{ st.tr["Play with? (optional)"] }}
+ label(for="selectPlayers") {{ st.tr["Play with?"] }}
input#selectPlayers(type="text" v-model="newchallenge.to")
- fieldset(v-if="st.user.id > 0")
- label(for="inputFen") {{ st.tr["FEN (optional)"] }}
+ fieldset(v-if="st.user.id > 0 && newchallenge.to.length > 0")
+ label(for="inputFen") FEN
input#inputFen(type="text" v-model="newchallenge.fen")
button(@click="newChallenge") {{ st.tr["Send challenge"] }}
.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')") {{ st.tr["New game"] }}
.row
.col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
- .collapse
- input#challengeSection(type="radio" checked aria-hidden="true" name="accordion")
- label(for="challengeSection" aria-hidden="true") Challenges
- div
- .button-group
- button(@click="cdisplay='live'") Live Challenges
- button(@click="cdisplay='corr'") Correspondance challenges
- ChallengeList(v-show="cdisplay=='live'"
- :challenges="filterChallenges('live')" @click-challenge="clickChallenge")
- ChallengeList(v-show="cdisplay=='corr'"
- :challenges="filterChallenges('corr')" @click-challenge="clickChallenge")
- input#peopleSection(type="radio" aria-hidden="true" name="accordion")
- label(for="peopleSection" aria-hidden="true") People
- div
- .button-group
- button(@click="pdisplay='players'") Players
- button(@click="pdisplay='chat'") Chat
- #players(v-show="pdisplay=='players'")
- h3 Online players
- .player(v-for="p in uniquePlayers" @click="tryChallenge(p)"
- :class="{anonymous: !!p.count}"
+ div
+ .button-group
+ button(@click="(e) => setDisplay('c','live',e)" class="active")
+ | {{ st.tr["Live challenges"] }}
+ button(@click="(e) => setDisplay('c','corr',e)")
+ | {{ st.tr["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 {{ st.tr["Who's there?"] }}
+ #players
+ p(v-for="sid in Object.keys(people)" v-if="!!people[sid].name")
+ span {{ people[sid].name }}
+ button.player-action(
+ v-if="people[sid].name != st.user.name"
+ @click="challOrWatch(sid, $event)"
)
- | {{ p.name + (!!p.count ? " ("+p.count+")" : "") }}
- #chat(v-show="pdisplay=='chat'")
- h3 Chat (TODO)
- input#gameSection(type="radio" aria-hidden="true" name="accordion")
- label(for="gameSection" aria-hidden="true") Games
- div
- .button-group
- button(@click="gdisplay='live'") Live games
- button(@click="gdisplay='corr'") Correspondance games
- GameList(v-show="gdisplay=='live'" :games="filterGames('live')"
- @show-game="showGame")
- GameList(v-show="gdisplay=='corr'" :games="filterGames('corr')"
- @show-game="showGame")
+ | {{ st.tr[!!people[sid].gamer ? 'Playing' : 'Available'] }}
+ p.anonymous @nonymous ({{ anonymousCount }})
+ #chat
+ Chat(:newChat="newChat" @mychat="processChat")
+ .clearer
+ div
+ .button-group
+ button(@click="(e) => setDisplay('g','live',e)" class="active")
+ | {{ st.tr["Live games"] }}
+ button(@click="(e) => setDisplay('g','corr',e)")
+ | {{ st.tr["Correspondance games"] }}
+ GameList(v-show="gdisplay=='live'" :games="filterGames('live')"
+ @show-game="showGame")
+ GameList(v-show="gdisplay=='corr'" :games="filterGames('corr')"
+ @show-game="showGame")
-