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! {