From 476eaa540e6e09b1727556b5e9e053eedf39135b Mon Sep 17 00:00:00 2001 From: glyph Date: Wed, 26 Jan 2022 11:46:14 +0200 Subject: [PATCH] add managed state for conditional template element rendering --- peach-web/src/routes/status/scuttlebutt.rs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/peach-web/src/routes/status/scuttlebutt.rs b/peach-web/src/routes/status/scuttlebutt.rs index 5ed3df1..aab41fb 100644 --- a/peach-web/src/routes/status/scuttlebutt.rs +++ b/peach-web/src/routes/status/scuttlebutt.rs @@ -1,16 +1,30 @@ -use rocket::get; +use peach_stats::sbot; +use rocket::{get, State}; use rocket_dyn_templates::{tera::Context, Template}; use crate::routes::authentication::Authenticated; +use crate::RocketConfig; // HELPERS AND ROUTES FOR /status/scuttlebutt #[get("/scuttlebutt")] -pub fn scuttlebutt_status(_auth: Authenticated) -> Template { +pub fn scuttlebutt_status(_auth: Authenticated, config: &State) -> Template { let mut context = Context::new(); + // retrieve go-sbot systemd process stats + let sbot_stats = sbot::sbot_stats().ok(); + context.insert("sbot_stats", &sbot_stats); context.insert("flash_name", &None::<()>); context.insert("flash_msg", &None::<()>); context.insert("title", &Some("Scuttlebutt Status")); + // define back arrow url based on mode + if config.standalone_mode { + // return to home page + context.insert("back", &Some("/")); + } else { + // return to status menu + context.insert("back", &Some("/status")); + } + Template::render("status/scuttlebutt", &context.into_json()) }