Port worker page to Page

This commit is contained in:
Joscha 2024-05-13 15:00:34 +02:00
parent a931f00df3
commit eb1e82dae6

View file

@ -12,11 +12,7 @@ use crate::{
config::ServerConfig, config::ServerConfig,
server::{ server::{
util, util,
web::{ web::{components, page::Page, paths::PathWorkerByName},
base::{Base, Tab},
components,
paths::PathWorkerByName,
},
workers::Workers, workers::Workers,
}, },
shared::WorkerStatus, shared::WorkerStatus,
@ -61,42 +57,39 @@ pub async fn get_worker_by_name(
return Ok(StatusCode::NOT_FOUND.into_response()); return Ok(StatusCode::NOT_FOUND.into_response());
}; };
let base = Base::new(config, Tab::None);
let status = status(config, &info.status, &db).await?; let status = status(config, &info.status, &db).await?;
Ok(base let html = Page::new(config)
.html( .title(&path.name)
&path.name, .body(html! {
html! {}, h2 { "Worker" }
html! { div .commit-like .worker {
h2 { "Worker" } span .title { "worker " (path.name) }
div .commit-like .worker { dl {
span .title { "worker " (path.name) } dt { "Connected:" }
dl { dd { (util::format_time(info.first_seen)) }
dt { "Connected:" }
dd { (util::format_time(info.first_seen)) }
@match status { @match status {
Status::Idle => { Status::Idle => {
dt { "Working on:" } dt { "Working on:" }
dd { "nothing" } dd { "nothing" }
} }
Status::Busy => { Status::Busy => {
dt { "Working on:" } dt { "Working on:" }
dd { "run for another server" } dd { "run for another server" }
} }
Status::Working { link, since } => { Status::Working { link, since } => {
dt { "Working on:" } dt { "Working on:" }
dd { (link) } dd { (link) }
dt { "Working since:" } dt { "Working since:" }
dd { (since) } dd { (since) }
}
} }
} }
} }
}, }
) })
.into_response()) .build();
Ok(html.into_response())
} }