Fix bug preventing a user from being able to "unselect" a word while judging
authorCarl Worth <cworth@cworth.org>
Sun, 14 Jun 2020 19:22:54 +0000 (12:22 -0700)
committerCarl Worth <cworth@cworth.org>
Sun, 14 Jun 2020 19:22:54 +0000 (12:22 -0700)
Previously, the selection was accidentally "sticky" unless the player
went on to group a word with another. So if the user accidentally
clicked a word there was no way to unselect it without maging a bogus
grouping and then undoing that.

empathy/empathy.jsx

index 546df87acbbb0129f33deffc8e4996209460800d..973a9537f591e34917ff5a476c997cb795ac3de5 100644 (file)
@@ -436,8 +436,15 @@ class Ambiguities extends React.PureComponent {
       /* Second click on same word removes the word from the group. */
       const idx = this.state.word_sets.findIndex(s => s.has(word));
       const set = this.state.word_sets[idx];
-      if (set.size === 1)
+      if (set.size === 1) {
+        /* When the word is already alone, there's nothing to do but
+         * to un-select it. */
+        this.setState({
+          selected: null
+        });
         return;
+      }
+
       const new_set = new Set([...set].filter(w => w !== word));
       this.setState({
         selected: null,