X-Git-Url: https://git.auder.net/parser.js?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FBaseGame.vue;h=f4603d6bdec95ad389ad800b8915ccfb9a26b29b;hb=910d631b73cad5ffef1b4461157b704e7e7057d8;hp=9f4b6df803db3d687ddea57f826de7d50c3b923f;hpb=27d18a24ff2f3b04a7bf26b9b95c7214f8e5076a;p=vchess.git
diff --git a/client/src/components/BaseGame.vue b/client/src/components/BaseGame.vue
index 9f4b6df8..f4603d6b 100644
--- a/client/src/components/BaseGame.vue
+++ b/client/src/components/BaseGame.vue
@@ -1,48 +1,98 @@
-.row
- .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
- input#modalEog.modal(type="checkbox")
- div(role="dialog" aria-labelledby="eogMessage")
- .card.smallpad.small-modal.text-center
- label.modal-close(for="modalEog")
- h3#eogMessage.section {{ endgameMessage }}
- // TODO: or "BoardHex" if this.game.vname in "Hexagonal..."
- Board(:vr="vr" :last-move="lastMove" :analyze="analyze"
- :user-color="game.mycolor" :orientation="orientation"
- :vname="game.vname" @play-move="play")
- .button-group
- button(@click="() => play()") Play
- button(@click="() => undo()") Undo
- button(@click="flip") Flip
- button(@click="gotoBegin") GotoBegin
- button(@click="gotoEnd") GotoEnd
- #fenDiv.section-content(v-if="showFen && !!vr")
- p#fenString.text-center {{ vr.getFen() }}
- #pgnDiv.section-content
- a#download(href="#")
- .button-group
- button#downloadBtn(@click="download") {{ st.tr["Download PGN"] }}
- // TODO: Import game button copy game locally in IndexedDB
- //button Import game
- //MoveList(v-if="showMoves"
- :moves="moves" :cursor="cursor" @goto-move="gotoMove")
+div#baseGame(
+ tabindex=-1
+ @click="focusBg()"
+ @keydown="handleKeys($event)"
+ @wheel="handleScroll($event)"
+)
+ input#modalEog.modal(type="checkbox")
+ div#eogDiv(
+ role="dialog"
+ data-checkbox="modalEog"
+ )
+ .card.text-center
+ label.modal-close(for="modalEog")
+ h3.section {{ endgameMessage }}
+ input#modalAdjust.modal(type="checkbox")
+ div#adjuster(
+ role="dialog"
+ data-checkbox="modalAdjust"
+ )
+ .card.text-center
+ label.modal-close(for="modalAdjust")
+ label(for="boardSize") {{ st.tr["Board size"] }}
+ input#boardSize.slider(
+ type="range"
+ min="0"
+ max="100"
+ value="50"
+ @input="adjustBoard()"
+ )
+ #gameContainer
+ #boardContainer
+ Board(
+ :vr="vr"
+ :last-move="lastMove"
+ :analyze="analyze"
+ :user-color="game.mycolor"
+ :orientation="orientation"
+ :vname="game.vname"
+ :incheck="incheck"
+ @play-move="play"
+ )
+ #turnIndicator(v-if="game.vname=='Dark' && game.score=='*'")
+ | {{ st.tr[vr.turn + " to move"] }}
+ #controls
+ button(@click="gotoBegin()") <<
+ button(@click="undo()") <
+ button(@click="flip()") ⇅
+ button(@click="play()") >
+ button(@click="gotoEnd()") >>
+ #belowControls
+ #downloadDiv(v-if="game.vname!='Dark' || game.score!='*'")
+ a#download(href="#")
+ button(@click="download()") {{ st.tr["Download"] }} PGN
+ button(onClick="window.doClick('modalAdjust')") ⤢
+ button(
+ v-if="game.vname!='Dark' && game.mode!='analyze'"
+ @click="analyzePosition()"
+ )
+ | {{ st.tr["Analyse"] }}
+ // NOTE: rather ugly hack to avoid showing twice "rules" link...
+ button(
+ v-if="!$route.path.match('/variants/')"
+ @click="showRules()"
+ )
+ | {{ st.tr["Rules"] }}
+ #movesList
+ MoveList(
+ v-if="showMoves"
+ :score="game.score"
+ :message="game.scoreMsg"
+ :firstNum="firstMoveNumber"
+ :moves="moves"
+ :cursor="cursor"
+ @goto-move="gotoMove"
+ )
+ .clearer
+
+