From: Benjamin Auder Date: Tue, 29 Dec 2020 16:51:24 +0000 (+0100) Subject: Emulate hovering for smartphones: require confirmation click X-Git-Url: https://git.auder.net/%7B%7B%20asset%28%27mixstore/images/css/current/git-favicon.png?a=commitdiff_plain;h=95bc4bf5248120712946500416543bbfc6b7ae85;p=vchess.git Emulate hovering for smartphones: require confirmation click --- diff --git a/client/src/components/BaseGame.vue b/client/src/components/BaseGame.vue index 5f825c92..ee8b1fcb 100644 --- a/client/src/components/BaseGame.vue +++ b/client/src/components/BaseGame.vue @@ -440,9 +440,25 @@ export default { else this.$refs["board"].choices = move_s; } if ("ontouchstart" in window) { + const squareId = "sq-" + square[0] + "-" + square[1]; + const highlight = function(on, sq) { + let elt = document.getElementById(sq); + if (!!elt) { + if (on) elt.classList.add("touch-hover"); + else elt.classList.remove("touch-hover"); + } + } // Touch screen (smartphone): require confirmation - if (this.touchLastClick == square) playMove(); - this.touchLastClick = square; + const squareStr = square[0] + "_" + square[1] + if (this.touchLastClick == squareId) { + highlight(false, squareId); + playMove(); + } + else { + highlight(true, squareId); + highlight(false, this.touchLastClick); + } + this.touchLastClick = squareId; } else playMove(); } diff --git a/client/src/styles/_board_squares_img.sass b/client/src/styles/_board_squares_img.sass index cccce415..4075984d 100644 --- a/client/src/styles/_board_squares_img.sass +++ b/client/src/styles/_board_squares_img.sass @@ -63,6 +63,9 @@ img.circle-square .in-shadow filter: brightness(50%) +.touch-hover + background-color: #C571E6 !important + .monochrome border-bottom: 1px solid black border-right: 1px solid black