notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

commit dd2960d26648444db4a87b59995af96f71a40ef6
parent 3540290f0ab6e78c2af0b66ad9210beef7969a36
Author: kernelkind <kernelkind@gmail.com>
Date:   Mon, 22 Sep 2025 12:07:39 -0400

add nav drawer router

Signed-off-by: kernelkind <kernelkind@gmail.com>

Diffstat:
Mcrates/notedeck/src/lib.rs | 2++
Acrates/notedeck/src/route.rs | 31+++++++++++++++++++++++++++++++
2 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/crates/notedeck/src/lib.rs b/crates/notedeck/src/lib.rs @@ -26,6 +26,7 @@ pub mod profile; pub mod relay_debug; pub mod relayspec; mod result; +mod route; mod setup; pub mod storage; mod style; @@ -78,6 +79,7 @@ pub use profile::get_profile_url; pub use relay_debug::RelayDebugView; pub use relayspec::RelaySpec; pub use result::Result; +pub use route::DrawerRouter; pub use storage::{AccountStorage, DataPath, DataPathType, Directory}; pub use style::NotedeckTextStyle; pub use theme::ColorTheme; diff --git a/crates/notedeck/src/route.rs b/crates/notedeck/src/route.rs @@ -0,0 +1,31 @@ +#[derive(Clone, Debug, Default)] +pub struct DrawerRouter { + pub returning: bool, + pub navigating: bool, + pub drawer_focused: bool, +} + +impl DrawerRouter { + pub fn open(&mut self) { + self.navigating = true; + } + + pub fn close(&mut self) { + self.returning = true; + } + + pub fn closed(&mut self) { + self.clear(); + self.drawer_focused = false; + } + + fn clear(&mut self) { + self.navigating = false; + self.returning = false; + } + + pub fn opened(&mut self) { + self.clear(); + self.drawer_focused = true; + } +}