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:
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;
+ }
+}