diff --git a/frontend/src/components/layout/statusbar.rs b/frontend/src/components/layout/statusbar.rs index 557c422..1bb96a4 100644 --- a/frontend/src/components/layout/statusbar.rs +++ b/frontend/src/components/layout/statusbar.rs @@ -86,15 +86,18 @@ pub fn StatusBar() -> impl IntoView { }; // Register global click/touch listener to close menus when clicking outside - let close_menus = move |_| { + let close_menus = move || { if down_menu_open.get_untracked() { set_down_menu_open.set(false); } if up_menu_open.get_untracked() { set_up_menu_open.set(false); } if theme_open.get_untracked() { set_theme_open.set(false); } }; // Use window_event_listener from leptos for both click and touchstart (for iOS) - let _ = window_event_listener(ev::click, close_menus); - let _ = window_event_listener(ev::touchstart, close_menus); + let _ = window_event_listener(ev::click, { + let close = close_menus.clone(); + move |_| close() + }); + let _ = window_event_listener(ev::touchstart, move |_| close_menus()); view! {
@@ -125,7 +128,7 @@ pub fn StatusBar() -> impl IntoView { {move || format_speed(stats.get().down_rate)} - 0) fallback=|| ()> + 0 fallback=|| ()> {move || format!("(Limit: {})", format_speed(stats.get().down_limit.unwrap_or(0)))} @@ -189,7 +192,7 @@ pub fn StatusBar() -> impl IntoView { {move || format_speed(stats.get().up_rate)} - 0) fallback=|| ()> + 0 fallback=|| ()> {move || format!("(Limit: {})", format_speed(stats.get().up_limit.unwrap_or(0)))}