From: Ian Jackson Date: Thu, 14 Jan 2021 01:02:13 +0000 (+0000) Subject: infopane: wip player list, displays something, before accounts X-Git-Tag: otter-0.3.0~10 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=07038f2b78de3ecf3a28f2d1278dcb25e6a8cac1;p=otter.git infopane: wip player list, displays something, before accounts Signed-off-by: Ian Jackson --- diff --git a/nwtemplates/player-info-pane.tera b/nwtemplates/player-info-pane.tera index 735511f5..2a0589fa 100644 --- a/nwtemplates/player-info-pane.tera +++ b/nwtemplates/player-info-pane.tera @@ -1,4 +1,11 @@ +{# -*- HTML -*- -#} -{{ players }} +{% for p in players %} +
+#{{ p.player_num }} +{{ p.nick | escape }} + +
+{% endfor %} diff --git a/src/global.rs b/src/global.rs index 914ab088..bf63e69d 100644 --- a/src/global.rs +++ b/src/global.rs @@ -411,11 +411,24 @@ impl Instance { pub fn player_info_pane(&self) -> Html { #[derive(Serialize,Debug)] struct RenderContext<'r> { - players: &'r DenseSlotMap, + players: Vec>, } - let render = RenderContext { - players: &self.gs.players, + #[derive(Serialize,Debug)] + struct RenderPlayer<'r> { + player_num: u32, + nick: &'r str, + account: &'r str, }; + let players = self.gs.players.iter().filter_map(|(player, gpl)| { + let ipl = self.iplayers.get(player)?; + let (idx, _) = player.data().get_idx_version(); + Some(RenderPlayer { + player_num: idx, + nick: &gpl.nick, + account: "todo", + }) + }).collect::>(); + let render = RenderContext { players }; let html = Html(nwtemplates::render("player-info-pane.tera", &render) .context("render player info template")?); html