scores: {},
/* Bag */
bag_remaining: null,
- letter_request_votes: 0,
- letter_request_needed: 0,
/* Claim state */
claiming: false,
claim_active: false, /* true if I'm the active claimer */
center,
tile_positions: positions,
revealing,
- bag_remaining: remaining,
- letter_request_votes: 0
+ bag_remaining: remaining
});
/* Animate: each second, show the number with a fade from full
this.setState({ bag_remaining: data.remaining });
}
- receive_letter_request(data) {
- this.setState({
- letter_request_votes: data.votes,
- letter_request_needed: data.needed
- });
- }
-
receive_player_words(data) {
this.setState({ player_words: data });
}
}
}
- async request_letter() {
- await fetch_post_json("request-letter");
+ async deal_letter() {
+ await fetch_post_json("deal-letter");
}
async start_claim() {
<button className="bag-btn"
disabled={state.bag_remaining === 0 || !!state.claim_player}
- onClick={() => this.request_letter()}>
+ onClick={() => this.deal_letter()}>
<span className="bag-icon">👜</span>
{state.bag_remaining !== null ? state.bag_remaining : "?"}
</button>
-
- {state.letter_request_votes > 0 && state.bag_remaining > 0 ? (
- <span className="status">
- {state.letter_request_votes}/{state.letter_request_needed} want a letter
- </span>
- ) : null}
</div>
);
}