Add orange board theme
[vchess.git] / client / src / components / Board.vue
index 7f2e43e..5a21771 100644 (file)
@@ -68,11 +68,11 @@ export default {
     }
     const showLight = (
       this.settings.highlight &&
-      ["all","highlight"].includes(V.ShowMoves)
+      ["all", "highlight"].includes(V.ShowMoves)
     );
     const showCheck = (
       this.settings.highlight &&
-      ["all","highlight","byrow"].includes(V.ShowMoves)
+      ["all", "highlight", "byrow"].includes(V.ShowMoves)
     );
     const orientation = !V.CanFlip ? "w" : this.orientation;
     // Ensure that squares colors do not change when board is flipped
@@ -568,7 +568,11 @@ export default {
             this.coordsToXY(line[1], bPos.top, bPos.left, squareWidth);
           let path =
             document.createElementNS("http://www.w3.org/2000/svg", "path");
-          path.classList.add("svg-line");
+          if (line[0][0] == line[1][0] || line[0][1] == line[1][1])
+            path.classList.add("svg-line");
+          else
+            // "Diagonals" are drawn with a lighter color (TODO: generalize)
+            path.classList.add("svg-diag");
           path.setAttribute(
             "d",
             "M" + lStart.x + "," + lStart.y + " " +
@@ -671,12 +675,7 @@ export default {
       // Cancel if off boardContainer
       const [offsetX, offsetY] =
         this.mobileBrowser
-          ?
-            [
-              e.changedTouches[0].pageX,
-              // TODO: fixing attempt for smartphones, removing window.scrollY
-              e.changedTouches[0].pageY - window.scrollY
-            ]
+          ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY]
           : [e.clientX, e.clientY];
       if (
         offsetX < this.containerPos.left ||
@@ -756,11 +755,7 @@ export default {
       // Obtain the move from start and end squares
       const [offsetX, offsetY] =
         this.mobileBrowser
-          ?
-            [
-              e.changedTouches[0].pageX,
-              e.changedTouches[0].pageY - window.scrollY
-            ]
+          ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY]
           : [e.clientX, e.clientY];
       let landing = document.elementFromPoint(offsetX, offsetY);
       // Next condition: classList.contains(piece) fails because of marks
@@ -844,6 +839,9 @@ export default {
 .svg-line
   stroke: black
 
+.svg-diag
+  stroke: grey
+
 .arrow-head
   fill: #5f0e78
 </style>
@@ -901,30 +899,6 @@ img.ghost
 .incheck-dark
   background-color: rgba(204, 51, 0, 0.9) !important
 
-.light-square.lichess
-  background-color: #f0d9b5
-.dark-square.lichess
-  background-color: #b58863
-
-.light-square.chesscom
-  background-color: #e5e5ca
-.dark-square.chesscom
-  background-color: #6f8f57
-
-.light-square.chesstempo
-  background-color: #dfdfdf
-.dark-square.chesstempo
-  background-color: #7287b6
-
-.middle-square.lichess
-  background-color: #D3B18C
-
-.middle-square.chesscom
-  background-color: #AABA91
-
-.middle-square.chesstempo
-  background-color: #A9B3CB
-
 // TODO: no predefined highlight colors, but layers. How?
 
 .light-square.lichess.highlight-light
@@ -941,4 +915,9 @@ img.ghost
   background-color: #9f9fff
 .dark-square.chesstempo.highlight-dark
   background-color: #557fff
+
+.light-square.orangecc.highlight-light
+  background-color: #fef273
+.dark-square.orangecc.highlight-dark
+  background-color: #e8c525
 </style>