aboutsummaryrefslogtreecommitdiff
path: root/src/screens/screen.rs
diff options
context:
space:
mode:
authorpablu <me@pablu.de>2026-06-02 18:49:48 +0200
committerpablu <me@pablu.de>2026-06-02 18:49:48 +0200
commitb547e6758c635682c94794e5c13070a73c918203 (patch)
tree2ca030a7acbe436a304e6b87dd93deb0b2351909 /src/screens/screen.rs
parentafe649e0efc31fcd33a828e54bd6313cd37f1784 (diff)
wip: refactor architecture
Diffstat (limited to 'src/screens/screen.rs')
-rw-r--r--src/screens/screen.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/screens/screen.rs b/src/screens/screen.rs
new file mode 100644
index 0000000..a87329b
--- /dev/null
+++ b/src/screens/screen.rs
@@ -0,0 +1,11 @@
+use ratatui::{Frame, crossterm::event::KeyEvent, layout::Rect};
+
+use crate::{
+ actions::{Action, Signal},
+ gentoo::Portage,
+};
+
+pub(crate) trait Screen {
+ fn draw(&mut self, frame: &mut Frame, area: Rect, repo: &Portage);
+ fn update(&mut self, action: KeyEvent) -> Option<Signal>;
+}