- const minBoardWidth = 240; //TODO: these 240 and 280 are arbitrary...
- // 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";
- this.$emit("redraw-board");
+ let gameContainer = document.getElementById("gameContainer");
+ if (vertical) {
+ const bRect =
+ document.getElementById("rootBoardElement").getBoundingClientRect();
+ if (bRect.bottom > window.innerHeight) {
+ const maxHeight = window.innerHeight - 20;
+ gameContainer.style.height = maxHeight + "px";
+ const boardSize = maxHeight * bRect.width / bRect.height;
+ boardContainer.style.width = boardSize + "px";
+ gameContainer.style.width = boardSize + movesWidth + "px";
+ this.$emit("redraw-board");
+ setTimeout( () => window.scroll(0, bRect.top), 1000);
+ }
+ }
+ else {
+ const k = document.getElementById("boardSize").value;
+ const minBoardWidth = 160; //TODO: these 160 and 280 are arbitrary...
+ // Value of 0 is board min size; 100 is window.width [- movesWidth]
+ const boardSize =
+ minBoardWidth +
+ (k * (window.innerWidth - (movesWidth + minBoardWidth))) / 100;
+ boardContainer.style.width = boardSize + "px";
+ gameContainer.style.width = boardSize + movesWidth + "px";
+ this.$emit("redraw-board");
+ }