diff --git a/crates/ptth_relay/src/lib.rs b/crates/ptth_relay/src/lib.rs index d83feb4..7610bda 100644 --- a/crates/ptth_relay/src/lib.rs +++ b/crates/ptth_relay/src/lib.rs @@ -273,6 +273,9 @@ struct ServerListPage <'a> { git_version: Option , servers: Vec >, news_url: Option , + connected_server_count: usize, + registered_server_count: usize, + date_rfc3339: String, } #[derive (Serialize)] @@ -311,13 +314,19 @@ async fn handle_server_list_internal (state: &Arc ) let now = Utc::now (); + let registered_server_count = server_list.servers.len (); + let mut connected_server_count = 0; + let servers = server_list.servers.into_iter () .map (|x| { let last_seen = match x.last_seen { None => "Never".into (), Some (x) => match pretty_print_last_seen (now, x) { Negative => "Error (negative time)".into (), - Connected => "Connected".into (), + Connected => { + connected_server_count += 1; + "Connected".into () + }, Description (s) => s.into (), }, }; @@ -330,11 +339,16 @@ async fn handle_server_list_internal (state: &Arc ) }) .collect (); + let date_rfc3339 = now.to_rfc3339_opts (SecondsFormat::Secs, true); + ServerListPage { dev_mode, git_version, servers, news_url, + connected_server_count, + registered_server_count, + date_rfc3339, } } diff --git a/handlebars/relay/server_list.hbs b/handlebars/relay/server_list.hbs index 9dd799e..04ef3f1 100644 --- a/handlebars/relay/server_list.hbs +++ b/handlebars/relay/server_list.hbs @@ -49,7 +49,14 @@ AIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAA" rel="icon" type="image/x-icon" /> News {{/if}} -
+
+ +

Connected servers: {{connected_server_count}}

+ +

Registered servers: {{registered_server_count}}

+ +

{{date_rfc3339}}

+ {{#if servers}}