From dc7b3dd3e87dcb9d287cae43ace4eda53487d68d Mon Sep 17 00:00:00 2001 From: Bill Thiede Date: Sat, 6 Apr 2024 08:52:20 -0700 Subject: [PATCH] web: human format attachment size --- web/Cargo.toml | 1 + web/src/view/mod.rs | 18 +++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/web/Cargo.toml b/web/Cargo.toml index 4f2b60c..c1caaec 100644 --- a/web/Cargo.toml +++ b/web/Cargo.toml @@ -32,6 +32,7 @@ graphql_client = "0.13.0" thiserror = "1.0.50" seed_hooks = { git = "https://github.com/wathiede/styles_hooks", package = "seed_hooks", branch = "main" } gloo-net = { version = "0.4.0", features = ["json", "serde_json"] } +human_format = { git ="https://github.com/wathiede/human-format-rs" } [package.metadata.wasm-pack.profile.release] wasm-opt = ['-Os'] diff --git a/web/src/view/mod.rs b/web/src/view/mod.rs index 6e840b0..7963dcf 100644 --- a/web/src/view/mod.rs +++ b/web/src/view/mod.rs @@ -4,6 +4,7 @@ use std::{ }; use chrono::{DateTime, Datelike, Duration, Local, Utc}; +use human_format::{Formatter, Scales}; use itertools::Itertools; use log::error; use seed::{prelude::*, *}; @@ -641,18 +642,18 @@ fn message_render(msg: &ShowThreadQueryThreadMessages, open: bool) -> Node ) => pre![C!["error"], contents], ShowThreadQueryThreadMessagesBody::PlainText( ShowThreadQueryThreadMessagesBodyOnPlainText { - contents, - content_tree, - }, + contents, + content_tree, + }, ) => div![ raw_text_message(&contents), view_content_tree(&content_tree), ], ShowThreadQueryThreadMessagesBody::Html( ShowThreadQueryThreadMessagesBodyOnHtml { - contents, - content_tree, - }, + contents, + content_tree, + }, ) => div![ C!["view-part-text-html"], raw![contents], @@ -669,6 +670,9 @@ fn message_render(msg: &ShowThreadQueryThreadMessages, open: bool) -> Node let filename = a.filename.as_ref().unwrap_or(&default); let host = seed::window().location().host().expect("couldn't get host"); let url = format!("//{host}/download/attachment/{}/{}/{}", a.id,a.idx, filename); + let mut fmtr = Formatter::new(); + fmtr.with_separator(" "); + fmtr.with_scales(Scales::Binary()); div![ C!["attachment", "card"], @@ -688,7 +692,7 @@ fn message_render(msg: &ShowThreadQueryThreadMessages, open: bool) -> Node div![C!["card-content"], div![C!["content"], &a.filename, br![], - small![&a.size, " bytes"] + small![ fmtr.format(a.size as f64),"B"] ] ], footer![