From 5449651db66bc728c3c445d3f3701dc9ffafaffc Mon Sep 17 00:00:00 2001 From: spinline Date: Thu, 12 Feb 2026 21:38:25 +0300 Subject: [PATCH] feat: remove status bar from layout --- frontend/src/components/layout/mod.rs | 1 - frontend/src/components/layout/protected.rs | 4 - frontend/src/components/layout/statusbar.rs | 201 -------------------- 3 files changed, 206 deletions(-) delete mode 100644 frontend/src/components/layout/statusbar.rs diff --git a/frontend/src/components/layout/mod.rs b/frontend/src/components/layout/mod.rs index cb2334b..bd9a153 100644 --- a/frontend/src/components/layout/mod.rs +++ b/frontend/src/components/layout/mod.rs @@ -1,4 +1,3 @@ pub mod sidebar; -pub mod statusbar; pub mod toolbar; pub mod protected; diff --git a/frontend/src/components/layout/protected.rs b/frontend/src/components/layout/protected.rs index 0639124..9916810 100644 --- a/frontend/src/components/layout/protected.rs +++ b/frontend/src/components/layout/protected.rs @@ -1,7 +1,6 @@ use leptos::prelude::*; use crate::components::layout::sidebar::Sidebar; use crate::components::layout::toolbar::Toolbar; -use crate::components::layout::statusbar::StatusBar; use crate::components::ui::sidenav::{SidenavWrapper, Sidenav, SidenavInset}; #[component] @@ -22,9 +21,6 @@ pub fn Protected(children: Children) -> impl IntoView {
{children()}
- - // Alt Bar - } diff --git a/frontend/src/components/layout/statusbar.rs b/frontend/src/components/layout/statusbar.rs deleted file mode 100644 index bc1a03d..0000000 --- a/frontend/src/components/layout/statusbar.rs +++ /dev/null @@ -1,201 +0,0 @@ -use leptos::prelude::*; -use leptos::html; -use shared::GlobalLimitRequest; -use crate::api; - -fn format_bytes(bytes: i64) -> String { - const UNITS: [&str; 6] = ["B", "KB", "MB", "GB", "TB", "PB"]; - if bytes < 1024 { - return format!("{} B", bytes); - } - let i = (bytes as f64).log2().div_euclid(10.0) as usize; - format!( - "{:.1} {}", - (bytes as f64) / 1024_f64.powi(i as i32), - UNITS[i] - ) -} - -fn format_speed(bytes_per_sec: i64) -> String { - if bytes_per_sec == 0 { - return "0 B/s".to_string(); - } - format!("{}/s", format_bytes(bytes_per_sec)) -} - -#[component] -pub fn StatusBar() -> impl IntoView { - let store = use_context::().expect("store not provided"); - let stats = store.global_stats; - - - - // Preset limits in bytes/s - let limits: Vec<(i64, &str)> = vec!( - (0, "Unlimited"), - (100 * 1024, "100 KB/s"), - (500 * 1024, "500 KB/s"), - (1024 * 1024, "1 MB/s"), - (2 * 1024 * 1024, "2 MB/s"), - (5 * 1024 * 1024, "5 MB/s"), - (10 * 1024 * 1024, "10 MB/s"), - (20 * 1024 * 1024, "20 MB/s"), - ); - - let set_limit = move |limit_type: &str, val: i64| { - let limit_type = limit_type.to_string(); - log::info!("Setting {} limit to {}", limit_type, val); - - let req = if limit_type == "down" { - GlobalLimitRequest { - max_download_rate: Some(val), - max_upload_rate: None, - } - } else { - GlobalLimitRequest { - max_download_rate: None, - max_upload_rate: Some(val), - } - }; - - leptos::task::spawn_local(async move { - if let Err(e) = api::settings::set_global_limits(&req).await { - log::error!("Failed to set limit: {:?}", e); - } else { - log::info!("Limit set successfully"); - } - }); - }; - - let down_details_ref = NodeRef::::new(); - let up_details_ref = NodeRef::::new(); - - let close_details = move |node_ref: NodeRef| { - if let Some(el) = node_ref.get_untracked() { - el.set_open(false); - } - }; - - view! { -
- - // --- DOWNLOAD SPEED DROPDOWN --- -
- - - - - {move || format_speed(stats.get().down_rate)} - 0 } fallback=|| ()> - - {move || format!("(Limit: {})", format_speed(stats.get().down_limit.unwrap_or(0)))} - - - - - -
- - // --- UPLOAD SPEED DROPDOWN --- -
- - - - - {move || format_speed(stats.get().up_rate)} - 0 } fallback=|| ()> - - {move || format!("(Limit: {})", format_speed(stats.get().up_limit.unwrap_or(0)))} - - - - - -
- -
- -
-
- } -} \ No newline at end of file