diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index c3c90e68e..852cffb1c 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -2265,6 +2265,12 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +[[package]] +name = "human_format" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c3b1f728c459d27b12448862017b96ad4767b1ec2ec5e6434e99f1577f085b8" + [[package]] name = "humantime" version = "2.1.0" @@ -5568,6 +5574,7 @@ dependencies = [ "flate2", "futures-lite 2.3.0", "futures-util", + "human_format", "jsonwebtoken", "keyring", "libsqlite3-sys", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 69bf71824..7b7f16bc7 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -81,6 +81,7 @@ log = "0.4.22" rand = "0.8.5" device_query = "2.1.0" nvml-wrapper = "0.10.0" +human_format = "1.1.0" # tonic = "0.12.0" [features] diff --git a/src-tauri/src/binary_resolver.rs b/src-tauri/src/binary_resolver.rs index d9bbfa04b..8d07d94ee 100644 --- a/src-tauri/src/binary_resolver.rs +++ b/src-tauri/src/binary_resolver.rs @@ -2,7 +2,7 @@ use crate::download_utils::{download_file_with_retries, extract, validate_checks use crate::{github, ProgressTracker}; use anyhow::{anyhow, Error}; use async_trait::async_trait; -use log::{debug, error, info, warn}; +use log::{debug, error, warn}; use regex::Regex; use semver::{Version, VersionReq}; use std::collections::HashMap; diff --git a/src-tauri/src/format_utils.rs b/src-tauri/src/format_utils.rs deleted file mode 100644 index e8b2fdb40..000000000 --- a/src-tauri/src/format_utils.rs +++ /dev/null @@ -1,10 +0,0 @@ -pub fn format_balance(value: f64) -> String { - let balance = value / 1_000_000.0; - if balance >= 1_000_000.0 { - format!("{:.2}M", balance / 1_000_000.0) - } else if balance >= 1_000.0 { - format!("{:.2}k", balance / 1_000.0) - } else { - format!("{:.2}", balance) - } -} diff --git a/src-tauri/src/hardware_monitor.rs b/src-tauri/src/hardware_monitor.rs index bee027940..2c40e24e4 100644 --- a/src-tauri/src/hardware_monitor.rs +++ b/src-tauri/src/hardware_monitor.rs @@ -1,6 +1,6 @@ use std::{ops::Deref, sync::LazyLock}; -use log::{debug, info, warn}; +use log::{debug, warn}; use nvml_wrapper::{enum_wrappers::device::TemperatureSensor, Nvml}; use serde::Serialize; use sysinfo::{Component, Components, CpuRefreshKind, RefreshKind, System}; diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 5d47618a3..d37935100 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -7,7 +7,6 @@ mod binary_resolver; mod consts; mod cpu_miner; mod download_utils; -mod format_utils; mod github; mod gpu_miner; mod hardware_monitor; diff --git a/src-tauri/src/systemtray_manager.rs b/src-tauri/src/systemtray_manager.rs index 4030d3e4a..b7fc1eef4 100644 --- a/src-tauri/src/systemtray_manager.rs +++ b/src-tauri/src/systemtray_manager.rs @@ -1,8 +1,8 @@ +use human_format::Formatter; use log::{error, info}; use std::sync::LazyLock; use tauri::{AppHandle, CustomMenuItem, SystemTray, SystemTrayMenu, SystemTrayMenuItem}; -use crate::format_utils::format_balance; use crate::hardware_monitor::HardwareStatus; const LOG_TARGET: &str = "tari::universe::systemtray_manager"; @@ -34,7 +34,13 @@ impl SystrayItemId { SystrayItemId::CpuUsage => format!("CPU Usage: {:.2}%", value), SystrayItemId::GpuUsage => format!("GPU Usage: {:.2}%", value), SystrayItemId::EstimatedEarning => { - format!("Est earning: {} tXTM/day", format_balance(value)) + format!( + "Est earning: {:?} tXTM/day", + Formatter::new() + .with_decimals(2) + .with_separator("") + .format(value / 1_000_000.0) + ) } } } @@ -101,19 +107,23 @@ impl SystemtrayManager { match current_os { CurrentOperatingSystem::Windows => { format!( - "Hashrate | Usage\nCPU: {:.0} H/s | {:.0}%\nGPU: {:.0} H/s | {:.0}%\nEst. earning: {} tXTM/day", - data.cpu_hashrate, + "Hashrate | Usage\nCPU: {} H/s | {:.0}%\nGPU: {} H/s | {:.0}%\nEst. earning: {} tXTM/day", + Formatter::new().with_decimals(2).with_separator("").format(data.cpu_hashrate), data.cpu_usage, - data.gpu_hashrate, + Formatter::new().with_decimals(2).with_separator("").format(data.gpu_hashrate), data.gpu_usage, - format_balance(data.estimated_earning) + Formatter::new().with_decimals(2).with_separator("").format(data.estimated_earning / 1_000_000.0) ) } CurrentOperatingSystem::Linux => "Not supported".to_string(), CurrentOperatingSystem::MacOS => { format!( - "CPU:\n Hashrate: {:.0} H/s\n Usage: {:.0}%\nGPU:\n Hashrate: {:.0} H/s\n Usage: {:.0}%\nEst. earning: {} tXTM/day", - data.cpu_hashrate, data.cpu_usage, data.gpu_hashrate, data.gpu_usage, format_balance(data.estimated_earning) + "CPU:\n Hashrate: {} H/s\n Usage: {:.0}%\nGPU:\n Hashrate: {} H/s\n Usage: {:.0}%\nEst. earning: {} tXTM/day", + Formatter::new().with_decimals(0).with_separator("").format(data.cpu_hashrate), + data.cpu_usage, + Formatter::new().with_decimals(2).with_separator("").format(data.gpu_hashrate), + data.gpu_usage, + Formatter::new().with_decimals(2).with_separator("").format(data.estimated_earning / 1_000_000.0) ) } }