commit 3297ad988c2c9c1505dcc3ef746a61563ec7f5e6
parent 4586d8638785ee5d383a7bc1e3c9c0eecfb9c211
Author: William Casarin <jb55@jb55.com>
Date: Sun, 25 Jan 2026 15:13:15 -0800
nav: reset toolbar visibility on navigation
Fixes a bug where the toolbar would remain hidden after navigation.
The toolbar visibility state persisted across navigation events, so if
you scrolled down to hide the toolbar then navigated to a new route,
the toolbar would stay hidden and scrolling wouldn't bring it back.
Now we reset the toolbar to visible when navigation occurs (both
forward navigation and when returning/going back), ensuring a
consistent UX where the toolbar always appears when entering a new
route.
Fixes: 293262d5536b ("columns: auto-hide toolbar+header when scrolling")
Tested-by: William Casarin <jb55@jb55.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat:
1 file changed, 10 insertions(+), 0 deletions(-)
diff --git a/crates/notedeck_columns/src/nav.rs b/crates/notedeck_columns/src/nav.rs
@@ -277,6 +277,11 @@ fn process_nav_resp(
if let Some(action) = response.action {
match action {
NavAction::Returned(return_type) => {
+ // Reset toolbar visibility when returning from a route
+ let toolbar_visible_id = egui::Id::new("toolbar_visible");
+ ui.ctx()
+ .data_mut(|d| d.insert_temp(toolbar_visible_id, true));
+
let r = app
.columns_mut(ctx.i18n, ctx.accounts)
.column_mut(col)
@@ -303,6 +308,11 @@ fn process_nav_resp(
}
NavAction::Navigated => {
+ // Reset toolbar visibility when navigating to a new route
+ let toolbar_visible_id = egui::Id::new("toolbar_visible");
+ ui.ctx()
+ .data_mut(|d| d.insert_temp(toolbar_visible_id, true));
+
handle_navigating_edit_profile(ctx.ndb, ctx.accounts, app, col);
handle_navigating_timeline(
ctx.ndb,