Small fixes
authorBenjamin Auder <benjamin.auder@somewhere>
Fri, 31 May 2019 08:21:53 +0000 (10:21 +0200)
committerBenjamin Auder <benjamin.auder@somewhere>
Fri, 31 May 2019 08:21:53 +0000 (10:21 +0200)
client/src/components/ChallengeList.vue
client/src/utils/ajax.js
client/src/utils/timeControl.js
client/src/views/Hall.vue

index 8500515..c7df2dd 100644 (file)
@@ -10,7 +10,7 @@ table
     td {{ c.from.name }}
     td(v-if="!!c.to[0]")
       span(v-for="pname in c.to") {{ pname }}
-    td(v-else) {{ c.to.length - 1 }} player{{ c.to.length >= 3 ? 's' : '' }}
+    td(v-else) {{ c.to.length }} player{{ c.to.length >= 2 ? 's' : '' }}
     td {{ c.timeControl }}
 </template>
 
index c0ebbff..01ea849 100644 (file)
@@ -1,5 +1,8 @@
 import params from "../parameters"; //for server URL
 
+// TODO: replace by fetch API ?
+// https://www.sitepoint.com/xmlhttprequest-vs-the-fetch-api-whats-best-for-ajax-in-2019/
+
 // From JSON (encoded string values!) to "arg1=...&arg2=..."
 function toQueryString(data)
 {
index 89f7f31..194deaf 100644 (file)
@@ -22,8 +22,11 @@ function isLargerUnit(unit1, unit2)
 
 export function extractTime(timeControl)
 {
-  const tcParts = timeControl.replace(/ /g,"").split('+');
-       const mainTimeArray = tcParts[0].match(/([0-9]+)([smhd])/);
+  let tcParts = timeControl.replace(/ /g,"").split('+');
+  // Concatenate usual time control suffixes, in case of none is provided
+  tcParts[0] += "m";
+  tcParts[1] += "s";
+       const mainTimeArray = tcParts[0].match(/([0-9]+)([smhd]+)/);
   if (!mainTimeArray)
     return null;
   const mainTimeValue = parseInt(mainTimeArray[1]);
@@ -32,7 +35,7 @@ export function extractTime(timeControl)
   let increment = 0;
   if (tcParts.length >= 2)
   {
-    const incrementArray = tcParts[1].match(/([0-9]+)([smhd])/);
+    const incrementArray = tcParts[1].match(/([0-9]+)([smhd]+)/);
     if (!incrementArray)
       return null;
     const incrementValue = parseInt(incrementArray[1]);
index 94e49a1..e76139a 100644 (file)
@@ -81,6 +81,7 @@ import { ajax } from "@/utils/ajax";
 import { getRandString } from "@/utils/alea";
 import GameList from "@/components/GameList.vue";
 import ChallengeList from "@/components/ChallengeList.vue";
+import { GameStorage } from "@/utils/storage";
 export default {
   name: "my-hall",
   components: {