option(value="0") {{ st.tr["None"] }}
option(value="1") {{ st.tr["New game"] }}
option(value="2") {{ st.tr["All"] }}
+ fieldset
+ .slidecontainer
+ input#myRange.slider(type="range" min="0" max="100" value="50"
+ @input="adjustBoard")
</template>
<script>
return {
st: store.state,
};
+ },
+ mounted: function() {
+ const boardSize = localStorage.getItem("boardSize");
+ if (!!boardSize)
+ document.getElementById("myRange").value = Math.floor(boardSize / 10);
},
methods: {
updateSettings: function(event) {
localStorage[propName] = ["highlight","coords"].includes(propName)
? event.target.checked
: event.target.value;
+ },
+ adjustBoard: function() {
+ const boardContainer = document.getElementById("boardContainer");
+ if (!boardContainer)
+ return; //no board on page
+ const k = document.getElementById("myRange").value;
+ const movesWidth = (window.innerWidth >= 768 ? 280 : 0); //TODO: constant somewhere...;
+ const minBoardWidth = 240; //TODO: same
+ // Value of 0 is board min size; 100 is window.width [- movesWidth]
+ const boardSize = minBoardWidth +
+ k * (window.innerWidth - (movesWidth+minBoardWidth)) / 100;
+ localStorage.setItem("boardSize", boardSize);
+ boardContainer.style.width = boardSize + "px";
+ document.getElementById("gameContainer").style.width = (boardSize + movesWidth) + "px";
},
},
};