Experimental symmetric randomness + deterministic option
[vchess.git] / client / src / components / ChallengeList.vue
index 92c42f7..7572ede 100644 (file)
@@ -4,13 +4,19 @@ div
     thead
       tr
         th {{ st.tr["Variant"] }}
-        th {{ st.tr["From"] }}
+        th {{ st.tr["With"] }}
         th {{ st.tr["Cadence"] }}
+        th {{ st.tr["Random?"] }}
     tbody
-      tr(v-for="c in sortedChallenges" :class="{toyou:c.priority==1,fromyou:c.priority==2}" @click="$emit('click-challenge',c)")
+      tr(
+        v-for="c in sortedChallenges"
+        :class="{toyou:c.priority==1,fromyou:c.priority==2}"
+        @click="$emit('click-challenge',c)"
+      )
         td {{ c.vname }}
-        td {{ c.from.name || "@nonymous" }}
+        td {{ withWho(c) }}
         td {{ c.cadence }}
+        td(:class="getRandomnessClass(c)")
 </template>
 
 <script>
@@ -42,14 +48,34 @@ export default {
         return c2.priority - c1.priority + (c2.added - c1.added) / deltaAdded;
       });
     }
+  },
+  methods: {
+    withWho: function(c) {
+      if (c.from.sid == this.st.user.sid || c.from.id == this.st.user.id)
+        return c.to || this.st.tr["Any player"];
+      return c.from.name || "@nonymous";
+    },
+    getRandomnessClass: function(c) {
+      return {
+        ["random-" + c.randomness]: true
+      };
+    }
   }
 };
 </script>
 
 <style lang="sass" scoped>
-// TODO: understand why the style applied to <tr> element doesn't work
+// NOTE: the style applied to <tr> element doesn't work
 tr.fromyou > td
   font-style: italic
 tr.toyou > td
   background-color: #fcd785
+
+tr > td:last-child
+  &.random-0
+    background-color: #FF5733
+  &.random-1
+    background-color: #2B63B4
+  &.random-2
+    background-color: #33B42B
 </style>