diff options
Diffstat (limited to 'ui/src/components/stats.rs')
| -rw-r--r-- | ui/src/components/stats.rs | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/ui/src/components/stats.rs b/ui/src/components/stats.rs index 698430b..ce06843 100644 --- a/ui/src/components/stats.rs +++ b/ui/src/components/stats.rs @@ -8,27 +8,25 @@ use crate::{ RenderInfo, format::{format_duration, format_duration_long, format_size}, }; -use jellycommon::{jellyobject::Object, *}; +use jellycommon::*; use jellyui_locale::tr; use markup::raw; markup::define! { - StatText<'a>(ri: &'a RenderInfo<'a>, stat: Object<'a>) { + StatText<'a>(ri: &'a RenderInfo<'a>, stats: &'a Stats) { h1 { @tr(ri.lang, "stats.title") } p { @raw(tr(ri.lang, "stats.count") - .replace("{count}", &format!("<b>{}</b>", stat.get(STAT_COUNT).unwrap_or_default())) + .replace("{count}", &format!("<b>{}</b>", stats.all.count)) )} p { @raw(tr(ri.lang, "stats.runtime") - .replace("{dur}", &format!("<b>{}</b>", format_duration_long(ri.lang, stat.get(STAT_TOTAL_DURATION).unwrap_or_default()))) - .replace("{size}", &format!("<b>{}</b>", format_size(stat.get(STAT_TOTAL_SIZE).unwrap_or_default()))) + .replace("{dur}", &format!("<b>{}</b>", format_duration_long(ri.lang, stats.all.sum_duration))) + .replace("{size}", &format!("<b>{}</b>", format_size(stats.all.sum_size))) )} p { @raw(tr(ri.lang, "stats.average") - .replace("{dur}", &format!("<b>{}</b>", format_duration(stat.get(STAT_TOTAL_DURATION).unwrap_or_default() / stat.get(STAT_COUNT).unwrap_or_default() as f64))) - .replace("{size}", &format!("<b>{}</b>", format_size(stat.get(STAT_TOTAL_SIZE).unwrap_or_default() / stat.get(STAT_COUNT).unwrap_or_default()))) + .replace("{dur}", &format!("<b>{}</b>", format_duration(stats.all.sum_duration / stats.all.count as f64))) + .replace("{size}", &format!("<b>{}</b>", format_size(stats.all.sum_size / stats.all.count as u64))) )} - } - StatGroup<'a>(ri: &'a RenderInfo<'a>, statgroup: Object<'a>) { - h2 { @tr(ri.lang, statgroup.get(STATGROUP_TITLE).unwrap_or_default()) } + h2 { @tr(ri.lang, "stats.by_kind") } table.striped { tr { th { @tr(ri.lang, "stats.by_kind.kind") } @@ -40,15 +38,15 @@ markup::define! { th { @tr(ri.lang, "stats.by_kind.max_size") } th { @tr(ri.lang, "stats.by_kind.max_runtime") } } - @for stat in statgroup.iter(STATGROUP_BIN) { tr { - td { @tr(ri.lang, stat.get(STAT_NAME).unwrap_or_default()) } - td { @stat.get(STAT_COUNT).unwrap_or_default() } - td { @format_size(stat.get(STAT_TOTAL_SIZE).unwrap_or_default()) } - td { @format_duration(stat.get(STAT_TOTAL_DURATION).unwrap_or_default()) } - td { @format_size(stat.get(STAT_TOTAL_SIZE).unwrap_or_default() / stat.get(STAT_COUNT).unwrap_or_default()) } - td { @format_duration(stat.get(STAT_TOTAL_DURATION).unwrap_or_default() / stat.get(STAT_COUNT).unwrap_or_default() as f64) } - td { @format_size(stat.get(STAT_MAX_SIZE).unwrap_or_default()) } - td { @format_duration(stat.get(STAT_MAX_DURATION).unwrap_or_default()) } + @for (kind, stat) in &stats.by_kind { tr { + td { @tr(ri.lang, &format!("tag.kind.{kind}")) } + td { @stat.count } + td { @format_size(stat.sum_size) } + td { @format_duration(stat.sum_duration) } + td { @format_size(stat.sum_size / stat.count as u64) } + td { @format_duration(stat.sum_duration / stat.count as f64) } + td { @format_size(stat.max_size) } + td { @format_duration(stat.max_duration) } }} } } |