fedimint_server_ui/
audit.rs

1use fedimint_core::module::audit::AuditSummary;
2use maud::{Markup, html};
3
4pub fn render(audit_summary: &AuditSummary) -> Markup {
5    html! {
6        div class="card h-100" {
7            div class="card-header dashboard-header" { "Audit Summary" }
8            div class="card-body" {
9                // Overall Summary
10                div class="mb-3" {
11                    div class="alert alert-info" {
12                        "Net Assets: " strong { (format!("{} msat", audit_summary.net_assets)) }
13                    }
14                }
15
16                // Per Module Breakdown
17                div class="accordion" id="auditAccordion" {
18                    @for (i, (module_id, module_summary)) in audit_summary.module_summaries.iter().enumerate() {
19                        div class="accordion-item" {
20                            h2 class="accordion-header" id=(format!("heading{}", i)) {
21                                button class="accordion-button collapsed" type="button"
22                                    data-bs-toggle="collapse" data-bs-target=(format!("#collapse{}", i))
23                                    aria-expanded="false" aria-controls=(format!("collapse{}", i)) {
24                                    strong { (module_summary.kind) }
25                                }
26                            }
27                            div id=(format!("collapse{}", i)) class="accordion-collapse collapse"
28                                aria-labelledby=(format!("heading{}", i)) data-bs-parent="#auditAccordion" {
29                                div class="accordion-body" {
30                                    table class="table table-sm" {
31                                        tr {
32                                            th { "Module ID" }
33                                            td { (module_id) }
34                                        }
35                                        tr {
36                                            th { "Net Assets" }
37                                            td { (format!("{} msat", module_summary.net_assets)) }
38                                        }
39                                    }
40                                }
41                            }
42                        }
43                    }
44                }
45            }
46        }
47    }
48}