From 5411e3954831efb3f4ce7be60bcf59e684089c3c Mon Sep 17 00:00:00 2001 From: itsscb Date: Mon, 12 Aug 2024 15:17:21 +0200 Subject: [PATCH] chore: prepares for stage3/step1 --- src/main.rs | 1 + src/ui/pages/mod.rs | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/main.rs b/src/main.rs index c99cba2..872eadd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,7 @@ mod db; mod io_utils; mod models; +mod navigator; mod ui; fn main() { diff --git a/src/ui/pages/mod.rs b/src/ui/pages/mod.rs index 3926c8b..ef62579 100644 --- a/src/ui/pages/mod.rs +++ b/src/ui/pages/mod.rs @@ -1,3 +1,4 @@ +use std::any::Any; use std::rc::Rc; use anyhow::anyhow; @@ -13,6 +14,7 @@ use page_helpers::*; pub trait Page { fn draw_page(&self) -> Result<()>; fn handle_input(&self, input: &str) -> Result>; + fn as_any(&self) -> &dyn Any; } pub struct HomePage { @@ -52,6 +54,9 @@ impl Page for HomePage { ), } } + fn as_any(&self) -> &dyn Any { + self + } } pub struct EpicDetail { @@ -126,6 +131,9 @@ impl Page for EpicDetail { ), } } + fn as_any(&self) -> &dyn Any { + self + } } pub struct StoryDetail { @@ -174,6 +182,9 @@ impl Page for StoryDetail { _ => Ok(None), } } + fn as_any(&self) -> &dyn Any { + self + } } #[cfg(test)]