option(value="2") {{ st.tr["All"] }}
fieldset
.slidecontainer
- input#myRange.slider(type="range" min="1" max="100" value="50"
+ input#myRange.slider(type="range" min="0" max="100" value="50"
@input="adjustBoard")
</template>
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) {
: event.target.value;
},
adjustBoard: function() {
- const board = document.querySelector(".game");
- if (!board)
+ const boardContainer = document.getElementById("boardContainer");
+ if (!boardContainer)
return; //no board on page
- const multiplier = document.getElementById("myRange").value;
- const boardSize = 10 * multiplier;
+ 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);
- board.style.width = boardSize + "px";
+ boardContainer.style.width = boardSize + "px";
+ document.getElementById("gameContainer").style.width = (boardSize + movesWidth) + "px";
},
},
};