use chrono::Utc;
use zoidberg_lib::types::{Job, Worker};
// TODO: write nicer frontend
pub fn render(jobs: &[Job], workers: &[Worker]) -> String {
let jobs_html: String = String::from("
")
+ "| ID | command | status |
"
+ &jobs
.iter()
.map(|j| {
format!(
"| {} | {} | {} |
",
j.id, j.cmd, j.status
)
})
.collect::>()
.join("\n")
+ "
";
let workers_html: String = String::from("")
+ "| ID | last heartbeat |
"
+ &workers
.iter()
.map(|w| {
let ts = if let Some(ts) = w.last_heartbeat {
format!("{}", Utc::now().timestamp() - ts)
} else {
String::from("")
};
format!("| {} | {} |
", w.id, ts)
})
.collect::>()
.join("\n")
+ "
";
let style = r#""#;
let _debug_html = r#""#;
let _debug_html = "";
let page = format!(
r#"
Zoidberg
{}
{}
"#,
style, _debug_html, jobs_html, workers_html
);
page
}