summaryrefslogtreecommitdiff
path: root/play.js
diff options
context:
space:
mode:
authorMischa Untaga <99098079+MischaU8@users.noreply.github.com>2023-12-02 16:50:46 +0100
committerMischa Untaga <99098079+MischaU8@users.noreply.github.com>2023-12-02 16:50:54 +0100
commit910f4ce43eb2ad1c0078473ff37d13eb7a46a331 (patch)
tree2b52c4812706cd770e4a49b5c0ddc0ecdb6e2011 /play.js
parent68cc08b00bcd05fdca0f97d3fbe880158feb4be1 (diff)
downloadvotes-for-women-910f4ce43eb2ad1c0078473ff37d13eb7a46a331.tar.gz
show asterisk for states that have claimable cards
Diffstat (limited to 'play.js')
-rw-r--r--play.js20
1 files changed, 17 insertions, 3 deletions
diff --git a/play.js b/play.js
index a57676f..c136495 100644
--- a/play.js
+++ b/play.js
@@ -48,6 +48,7 @@ let ui = {
cards: [ null ],
us_states: [ null ],
regions: [ null ],
+ labels: {},
}
// :r !python3 tools/genlayout.py
@@ -111,6 +112,10 @@ const LAYOUT = {
const US_STATES_LAYOUT = [ null ]
const REGIONS_LAYOUT = [ null ]
+function find_us_state(name) {
+ return US_STATES.findIndex((x) => x && x.name === name)
+}
+
// bits
// RED cubes (6 bits), YELLOW cubes (7 bits), PURPLE cubes (7 bits), RED_X (1 bit), GREEN_CHECK (1 bit),
@@ -409,12 +414,16 @@ function build_user_interface() {
}
for (let s = 1; s <= us_states_count; ++s) {
- let us_state_css = US_STATES[s].code
- elt = ui.us_states[s] = document.querySelector(`#map #${us_state_css}`)
+ let us_state_code = US_STATES[s].code
+ elt = ui.us_states[s] = document.querySelector(`#map #${us_state_code}`)
elt.my_us_state = s
elt.addEventListener("mousedown", on_click_us_state)
elt.addEventListener("mouseenter", on_focus_us_state)
elt.addEventListener("mouseleave", on_blur)
+
+ let label = document.getElementById("label_" + us_state_code)
+ if (label)
+ ui.labels[us_state_code] = label
}
ui.campaigners = [
@@ -676,8 +685,11 @@ function on_update() { // eslint-disable-line no-unused-vars
for (let c of view.opposition_claimed)
document.getElementById("opposition_claimed").appendChild(ui.cards[c])
- for (let c of view.states_draw)
+ let claimable = new Set()
+ for (let c of view.states_draw) {
document.getElementById("states_draw").appendChild(ui.cards[c])
+ claimable.add(find_us_state(CARDS[c].name))
+ }
for (let c of view.strategy_draw)
document.getElementById("strategy_draw").appendChild(ui.cards[c])
@@ -766,6 +778,8 @@ function on_update() { // eslint-disable-line no-unused-vars
}
}
ui.us_states[i].classList.toggle("selected", i === view.selected_us_state)
+ if (US_STATES[i].code in ui.labels)
+ ui.labels[US_STATES[i].code].classList.toggle("claimable", claimable.has(i))
}
ui.pieces.replaceChildren(pieces)