diff --git a/frontend/src/components/layout/statusbar.rs b/frontend/src/components/layout/statusbar.rs
index 1769af5..3856410 100644
--- a/frontend/src/components/layout/statusbar.rs
+++ b/frontend/src/components/layout/statusbar.rs
@@ -111,9 +111,7 @@ pub fn StatusBar() -> impl IntoView {
// Signal-based dropdown state: 0=none, 1=download, 2=upload, 3=theme
let (active_dropdown, set_active_dropdown) = create_signal(0u8);
- // Guard to prevent global close from firing right after toggle opens
- let skip_next_close = store_value(false);
-
+
// Toggle a specific dropdown
let toggle = move |id: u8| {
let current = active_dropdown.get_untracked();
@@ -121,26 +119,23 @@ pub fn StatusBar() -> impl IntoView {
set_active_dropdown.set(0);
} else {
set_active_dropdown.set(id);
- // Mark that the next global close should be skipped
- skip_next_close.set_value(true);
}
};
-
+
// Close all dropdowns
let close_all = move || {
set_active_dropdown.set(0);
};
- // Close dropdowns when tapping outside — uses click (fires after pointerdown)
- let _ = window_event_listener(ev::click, move |_| {
- if skip_next_close.get_value() {
- skip_next_close.set_value(false);
- return;
- }
- set_active_dropdown.set(0);
- });
-
view! {
+ // Transparent overlay to close dropdowns when clicking outside
+
+
+
+
// --- DOWNLOAD SPEED DROPDOWN ---
@@ -148,10 +143,7 @@ pub fn StatusBar() -> impl IntoView {