diff --git a/web/src/pages/game.rs b/web/src/pages/game.rs
index 8aff79b..1c89c90 100644
--- a/web/src/pages/game.rs
+++ b/web/src/pages/game.rs
@@ -1,4 +1,7 @@
//! Live game page: table view over the websocket.
+use std::cell::Cell;
+use std::rc::Rc;
+
use sycamore::prelude::*;
use crate::components::card::{card_back, card_img};
@@ -70,6 +73,143 @@ fn move_banner(mv: MoveView) -> View {
}
}
+/// Signals shared by the websocket connection and its reconnect attempts.
+#[derive(Clone, Copy)]
+struct ConnCtx {
+ socket: Signal