Fix README, TODO and a mistake in MyGames
[vchess.git] / client / src / views / Variants.vue
index 3106115..2a3f6cf 100644 (file)
@@ -2,10 +2,14 @@
 main
   .row
     .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
-      input#prefixFilter(v-model="curPrefix" :placeholder="st.tr['Prefix?']")
+      input#prefixFilter(
+        v-model="curPrefix"
+        @input="setCurPrefix($event)"
+        :placeholder="st.tr['Prefix?']"
+      )
     .variant.col-sm-12.col-md-5.col-lg-4(
       v-for="(v,idx) in filteredVariants"
-      :class="{'col-md-offset-1': idx%2==0, 'col-lg-offset-2': idx%2==0}"
+      :class="getVclasses(filteredVariants, idx)"
     )
       router-link(:to="getLink(v.name)")
         h4.boxtitle.text-center {{ v.name }}
@@ -44,18 +48,30 @@ export default {
     }
   },
   methods: {
+    // oninput listener, required for smartphones:
+    setCurPrefix: function(e) {
+      this.curPrefix = e.target.value;
+    },
     getLink: function(vname) {
       return "/variants/" + vname;
-    }
+    },
+    getVclasses: function(varray, idx) {
+      const idxMod2 = idx % 2;
+      return {
+        'col-md-offset-1': idxMod2 == 0,
+        'col-lg-offset-2': idxMod2 == 0,
+        'last-noneighb': idxMod2 == 0 && idx == varray.length - 1
+      };
+    },
   }
 };
 </script>
 
 <style lang="sass" scoped>
-// TODO: box-shadow or box-sizing ? https://stackoverflow.com/a/13517809
 input#prefixFilter
   display: block
   margin: 0 auto
+
 .variant
   box-sizing: border-box
   border: 1px solid brown
@@ -71,4 +87,7 @@ input#prefixFilter
   .description
     @media screen and (max-width: 767px)
       margin-top: 0
+
+.last-noneighb
+  margin: 0 auto
 </style>