Finished problems page (untested)
[vchess.git] / public / javascripts / components / board.js
index 4cadb0b..2861cf7 100644 (file)
@@ -8,7 +8,9 @@
                        vr: null, //object to check moves, store them, FEN..
        orientation: "w", //useful if click on "flip board"     
        
-       
+
+// TODO: watch for property change "fen"
+// send event after each move, to notify what was played
        
        const [sizeX,sizeY] = [V.size.x,V.size.y];
                // Precompute hints squares to facilitate rendering
@@ -57,7 +59,7 @@
                        );
                        // Create board element (+ reserves if needed by variant or mode)
                        const lm = this.vr.lastMove;
-                       const showLight = this.hints && variant!="Dark" &&
+                       const showLight = this.hints && variant.name!="Dark" &&
                                (this.mode != "idle" ||
                                        (this.vr.moves.length > 0 && this.cursor==this.vr.moves.length));
                        const gameDiv = h('div',
@@ -80,7 +82,7 @@
                                                _.range(sizeY).map(j => {
                                                        let cj = (this.mycolor=='w' ? j : sizeY-j-1);
                                                        let elems = [];
-                                                       if (this.vr.board[ci][cj] != VariantRules.EMPTY && (variant!="Dark"
+                                                       if (this.vr.board[ci][cj] != VariantRules.EMPTY && (variant.name!="Dark"
                                                                || this.score!="*" || this.vr.enlightened[this.mycolor][ci][cj]))
                                                        {
                                                                elems.push(
                                                                                'light-square': (i+j)%2==0,
                                                                                'dark-square': (i+j)%2==1,
                                                                                [this.bcolor]: true,
-                                                                               'in-shadow': variant=="Dark" && this.score=="*"
+                                                                               'in-shadow': variant.name=="Dark" && this.score=="*"
                                                                                        && !this.vr.enlightened[this.mycolor][ci][cj],
                                                                                'highlight': showLight && !!lm && _.isMatch(lm.end, {x:ci,y:cj}),
                                                                                'incheck': showLight && incheckSq[ci][cj],
                                this.possibleMoves = [];
                                if (this.score == "*")
                                {
+
+// TODO: essentially adapt this (all other things do not change much)
+// if inside a real game, mycolor should be provided ? (simplest way)
+
                                        const color = ["friend","problem"].includes(this.mode)
                                                ? this.vr.turn
                                                : this.mycolor;