From 95bc4bf5248120712946500416543bbfc6b7ae85 Mon Sep 17 00:00:00 2001 From: Benjamin Auder Date: Tue, 29 Dec 2020 17:51:24 +0100 Subject: [PATCH] Emulate hovering for smartphones: require confirmation click --- client/src/components/BaseGame.vue | 20 ++++++++++++++++++-- client/src/styles/_board_squares_img.sass | 3 +++ 2 files changed, 21 insertions(+), 2 deletions(-) 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 -- 2.44.0