/* Now that we're done with the active prompt, we remove it from
* the list of prompts and also remove any prompts that received
- * no votes. This keeps the list of prompts clean.
+ * more negative votes than positive. This keeps the list of
+ * prompts clean.
*/
const active_id = this.state.active_prompt.id;
this.state.prompts =
this.state.prompts.filter(
- p => p.id !== active_id && p.votes.length > 0
+ p => p.id !== active_id && p.votes.length >= p.votes_against.length
);
this.state.active_prompt = null;
}
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);
+ }
}
}