diff --git a/web/src/lib/components/ArmedButton.svelte b/web/src/lib/components/ArmedButton.svelte
new file mode 100644
index 0000000..cc4be46
--- /dev/null
+++ b/web/src/lib/components/ArmedButton.svelte
@@ -0,0 +1,84 @@
+
+
+
diff --git a/web/src/lib/components/GameBoard.svelte b/web/src/lib/components/GameBoard.svelte
index 9e7fae9..a7ffa83 100644
--- a/web/src/lib/components/GameBoard.svelte
+++ b/web/src/lib/components/GameBoard.svelte
@@ -1,4 +1,5 @@
@@ -237,15 +175,13 @@
the current syllable, which only means something on this
player's own turn — unlike resign, there is no "not yet" state
worth showing for it off turn. -->
-
+ onconfirm={onclaimdeadend}
+ />
{/if}
{#if game.state.claimError}
@@ -265,15 +201,13 @@
that grows, and a button under it walks off the bottom of the screen
exactly as the game gets long enough to want to give up on. -->
{#if game.state.phase === 'playing' && !game.iAmOut}
-
+ onconfirm={onresign}
+ />
{/if}
@@ -418,10 +352,14 @@
text-align: center;
}
+ /* :global(): these are ArmedButton's own