From: Carl Worth <cworth@cworth.org>
Date: Sun, 28 Jun 2020 22:04:00 +0000 (-0700)
Subject: Remove a positive vote for a prompt when adding a negative vote
X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=fd6875ac5df6262460bcca803aae3b223c18eca4;p=lmno-server

Remove a positive vote for a prompt when adding a negative vote

This is important to do here because the current client interface
doesn't let a player see a prompt again after adding a negative vote,
(so they wouldn't know their positive vote was still there nor could
they remove it themself).
---

diff --git a/empathy.js b/empathy.js
index 50d18d5..7b1e9a1 100644
--- a/empathy.js
+++ b/empathy.js
@@ -598,10 +598,14 @@ class Prompt {
   }
 
   toggle_vote_against(player_name) {
-    if (this.votes_against.find(v => v === player_name))
+    if (this.votes_against.find(v => v === player_name)) {
       this.votes_against = this.votes_against.filter(v => v !== player_name);
-    else
+    } else {
       this.votes_against.push(player_name);
+      /* When voting against, we also remove any vote _for_ the same
+       * prompt. */
+      this.votes = this.votes.filter(v => v !== player_name);
+    }
   }
 }