use super::{Deposit, InboxEntry};
pub fn render(ui: &mut egui::Ui, entries: &[InboxEntry], raw: bool) {
crate::tail::scroll(ui, true, |ui| {
if entries.is_empty() {
ui.label("(no deposits)");
return;
}
for entry in entries {
if raw {
render_raw(ui, entry);
} else {
render_deposit(ui, &entry.deposit);
}
ui.separator();
}
});
}
fn render_raw(ui: &mut egui::Ui, entry: &InboxEntry) {
ui.monospace(&entry.name);
ui.monospace(String::from_utf8_lossy(&entry.raw).to_string());
}
fn render_deposit(ui: &mut egui::Ui, deposit: &Deposit) {
ui.label(
egui::RichText::new(super::header_line(deposit))
.color(crate::theme::BRAZEN)
.strong(),
);
if let Some(epitaph) = &deposit.epitaph {
ui.weak(format!("epitaph: {}", epitaph.label()));
}
if let Some(terminal) = &deposit.terminal_ref {
ui.weak(format!("terminal: {terminal}"));
}
ui.label(&deposit.body);
}