Skip to content

Commit deb80d5

Browse files
committed
Handle unassigned scramblers better.
1 parent 36807bf commit deb80d5

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

src/lib/elements/CompetitorScrambleDisplay.template.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<template>
22
<div class="info">
3-
<div class="split scrambler"><span class="scrambler-name">Scrambler</span><span><button class="set-scrambler"
3+
<div class="split scrambler"><span>Scrambler:&nbsp;<span
4+
class="scrambler-name">(unassigned)</span></span><span><button class="set-scrambler"
45
data-original-text="Set scrambler">Set
56
scrambler</button>&nbsp;<button class="additional-actions-button"
67
title="Additional actions…"></button></span></div>
@@ -29,7 +30,7 @@
2930
<br>
3031
<br>
3132
<h1>Additional&nbsp;actions</h1>
32-
<h2>Scrambler: <span class="scrambler-name">Scrambler</span></h2>
33+
<h2>Scrambler:&nbsp;<span class="scrambler-name">(unassigned)</span></h2>
3334
<hr>
3435
<br>
3536
<span><button class="clear-scramble">Clear scramble</button></span>

src/lib/elements/CompetitorScrambleDisplay.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,19 @@ import "./MultiBlindGridDisplay";
1717
const template = parseHTML<HTMLTemplateElement>(templateHTML);
1818
addCSS(css);
1919

20+
let unassignedCounter = 0;
21+
function nextUnassigned(): string {
22+
return `(unassigned #${++unassignedCounter})`;
23+
}
24+
2025
export class CompetitorScrambleDisplay extends HTMLElement {
2126
constructor(private sharedState: SharedState, private displayIndex: number) {
2227
super();
2328
}
2429

2530
connectedCallback() {
2631
this.append(template.content.cloneNode(true));
32+
this.#setField("scrambler-name", nextUnassigned());
2733
this.querySelector(".set-scrambler")!.addEventListener("click", () =>
2834
this.#onSetScrambler(),
2935
);
@@ -195,12 +201,10 @@ export class CompetitorScrambleDisplay extends HTMLElement {
195201
async #onSetScrambler() {
196202
const setScramblerButton = this.querySelector(".set-scrambler");
197203
setScramblerButton.textContent = "Please identify this scrambler…";
198-
const name = await this.sharedState.setScramblerCallback(this.displayIndex);
199-
if (name === null) {
200-
this.#setField("scrambler-name", "Scrambler: (unassigned)");
201-
} else {
202-
this.#setField("scrambler-name", `Scrambler: ${name}`);
203-
}
204+
const name =
205+
(await this.sharedState.setScramblerCallback(this.displayIndex)) ??
206+
nextUnassigned();
207+
this.#setField("scrambler-name", name);
204208
setScramblerButton.textContent =
205209
setScramblerButton.getAttribute("data-original-text");
206210
}

0 commit comments

Comments
 (0)