X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FSettings.vue;h=5d038865c380be2792ca081812f6da60cd137447;hb=96e9585a39ca3ccef59c701b3f7ac3809692ca73;hp=4838297a4ae90aba95c9ed01eb331bda04ea2922;hpb=5701c228a422bed7570452b2d24b3193f7653a19;p=vchess.git diff --git a/client/src/components/Settings.vue b/client/src/components/Settings.vue index 4838297a..5d038865 100644 --- a/client/src/components/Settings.vue +++ b/client/src/components/Settings.vue @@ -34,7 +34,7 @@ div option(value="2") {{ st.tr["All"] }} fieldset .slidecontainer - input#myRange.slider(type="range" min="20" max="100" value="60" + input#myRange.slider(type="range" min="0" max="100" value="50" @input="adjustBoard") @@ -61,13 +61,18 @@ export default { : 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"; }, }, };