From 945ccde8188a05e4637bca36c514c5359fb5d95f Mon Sep 17 00:00:00 2001 From: William Casarin Date: Mon, 16 Sep 2024 17:09:32 -0700 Subject: [PATCH] ui: hook up relay management view Signed-off-by: William Casarin --- src/app.rs | 4 +++- src/route.rs | 4 ++++ src/ui/side_panel.rs | 9 ++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/app.rs b/src/app.rs index 2c5c3af..1e92dc2 100644 --- a/src/app.rs +++ b/src/app.rs @@ -973,7 +973,9 @@ fn timelines_view(ui: &mut egui::Ui, sizes: Size, app: &mut Damus, columns: usiz columns[0].router_mut() }; - DesktopSidePanel::perform_action(router, side_panel.action); + if side_panel.response.clicked() { + DesktopSidePanel::perform_action(router, side_panel.action); + } // vertical sidebar line ui.painter().vline( diff --git a/src/route.rs b/src/route.rs index 2f2f33b..99e0ac8 100644 --- a/src/route.rs +++ b/src/route.rs @@ -27,6 +27,10 @@ impl Route { } } + pub fn relays() -> Self { + Route::Relays + } + pub fn thread(thread_root: NoteId) -> Self { Route::Timeline(TimelineRoute::Thread(thread_root)) } diff --git a/src/ui/side_panel.rs b/src/ui/side_panel.rs index 8d3a02d..8a890d2 100644 --- a/src/ui/side_panel.rs +++ b/src/ui/side_panel.rs @@ -101,7 +101,14 @@ impl<'a> DesktopSidePanel<'a> { router.route_to(Route::accounts()); } } - SidePanelAction::Settings => {} // TODO + SidePanelAction::Settings => { + if router.routes().iter().any(|&r| r == Route::Relays) { + // return if we are already routing to accounts + router.go_back(); + } else { + router.route_to(Route::relays()); + } + } SidePanelAction::Columns => (), // TODO } }