use crate::{
components::tailwind::TailwindClassesPreset, pages::workers::capability::ServiceInfoDisplay,
};
use leptos::component;
use leptos::prelude::*;
use leptos_struct_table::TableRow;
use serde::{Deserialize, Serialize};
pub mod capability;
pub mod index;
pub mod provider;
use crate::components::RelativeTimeRenderer;
#[derive(TableRow, Serialize, Deserialize, Clone, Debug)]
#[table(classes_provider = "TailwindClassesPreset")]
pub struct Worker {
pub id: String,
pub backend: String,
#[table(renderer = "RelativeTimeRenderer")]
pub started_at: u64,
#[table(renderer = "RelativeTimeRenderer")]
pub last_heartbeat: u64,
#[table(renderer = "ServiceCellRenderer")]
pub layers: String,
}
#[component]
#[allow(unused_variables)]
fn ServiceCellRenderer(
class: String,
value: Signal<String>,
row: RwSignal<Worker>,
index: usize,
) -> impl IntoView {
view! {
<td class=class>
<ServiceInfoDisplay service=value />
</td>
}
}