chiark / gitweb /
pass player nick to client
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 29 Mar 2021 00:44:46 +0000 (01:44 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 29 Mar 2021 00:44:46 +0000 (01:44 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/updates.rs
templates/script.ts

index 7b7cdba804d56d260f04db90215016dceb4b1914..bb1cec353277130544fa0ba89b67b9221d2bdadd 100644 (file)
@@ -128,6 +128,7 @@ pub struct PreparedPieceImage {
 #[derive(Serialize,Debug)]
 pub struct DataLoadPlayer {
   dasharray: Html,
+  nick: Html,
 }
 
 pub trait JsonLen {
@@ -409,10 +410,11 @@ impl PreparedUpdateEntry {
       }
       AddPlayer {
         player:_,
-        data: DataLoadPlayer { dasharray },
+        data: DataLoadPlayer { dasharray, nick, },
         new_info_pane,
       } => {
-        dasharray.0.as_bytes().len() + 100
+        dasharray.0.as_bytes().len() +
+        nick     .0.as_bytes().len() + 100
           + new_info_pane.0.len()
       }
       RemovePlayer { player:_, new_info_pane } => {
@@ -441,9 +443,14 @@ impl PreparedUpdateEntry {
 
 impl DataLoadPlayer {
   pub fn from_player(ig: &Instance, player: PlayerId) -> Self {
-    let dasharray = player_dasharray(&ig.gs.players, player);
+    let gplayers = &ig.gs.players;
+    let dasharray = player_dasharray(gplayers, player);
+    let nick = gplayers.get(player).map(|gpl| gpl.nick.as_str())
+      .unwrap_or("<unknown-player>");
+    let nick = Html(htmlescape::encode_minimal(&nick));
     DataLoadPlayer {
       dasharray,
+      nick,
     }
   }
 }
index 165e5e10ef9ab1e410e269c290cebe2f802c3759..039e19ebe8dc2da6d2c4f6096177e46c9f7427ec 100644 (file)
@@ -144,6 +144,7 @@ const uo_kind_prec : { [kind: string]: number } = {
 
 type PlayerInfo = {
   dasharray : string,
+  nick: string,
 }
 var players : { [player: string]: PlayerInfo };