From: Ian Jackson Date: Thu, 14 Jan 2021 00:06:45 +0000 (+0000) Subject: infopane: Plumbing for player list, shows up in client X-Git-Tag: otter-0.3.0~15 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=6569a1432eaf81b489c2b28d05e8cadf47306ef5;p=otter.git infopane: Plumbing for player list, shows up in client Signed-off-by: Ian Jackson --- diff --git a/src/global.rs b/src/global.rs index f873f1f8..bd900d5c 100644 --- a/src/global.rs +++ b/src/global.rs @@ -409,7 +409,9 @@ impl Instance { #[throws(InternalError)] pub fn player_info_pane(&self) -> Html { - let html = Html::from_txt("Players list from server, but NYI");// xxx + let html = Html(format!( + "Players list from server, but NYI {}", &self.gs.gen, + ));// xxx html } } diff --git a/templates/macros.tera b/templates/macros.tera index 20ccbf59..1ddc1938 100644 --- a/templates/macros.tera +++ b/templates/macros.tera @@ -102,7 +102,9 @@ Hi {{nick | escape}} diff --git a/templates/script.ts b/templates/script.ts index 75612cf4..b36b0e69 100644 --- a/templates/script.ts +++ b/templates/script.ts @@ -884,14 +884,23 @@ function drag_cancel() { // ----- general ----- +type PlayersUpdate = { new_info_pane: string }; + messages.AddPlayer = function -(j: { player: string, data: PlayerInfo }) { +(j: { player: string, data: PlayerInfo } & PlayersUpdate) { players[j.player] = j.data; + player_info_pane_set(j); } messages.RemovePlayer = function -(j: { player: string }) { +(j: { player: string } & PlayersUpdate ) { delete players[j.player]; + player_info_pane_set(j); +} + +function player_info_pane_set(j: PlayersUpdate) { + document.getElementById('player_list')! + .innerHTML = j.new_info_pane; } messages.SetLinks = function