Skip to content

Commit 878dae5

Browse files
committed
feat(View): introduce State parameter for draw_screen
Drawing a screen would require information about the screen's state, which shouldn't be available in the View itself. Pass state to the `draw_screen` function. Signed-off-by: Ivin Joel Abraham <[email protected]>
1 parent 9b6203b commit 878dae5

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/app.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,11 @@ impl App {
5151
})
5252
}
5353

54-
#[allow(dead_code)]
54+
#[allow(dead_code, unreachable_code)]
5555
pub fn run(&mut self) -> Result<()> {
5656
loop {
57-
self.get_current_view().draw_screen();
57+
self.get_current_view()
58+
.draw_screen(self.get_current_viewmodel().state());
5859

5960
if let Event::Key(key) = event::read()? {
6061
if key.kind == KeyEventKind::Release {

src/model/screens/mod.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use crate::viewmodels::ViewModelState;
2+
13
pub mod bookmarked;
24
pub mod details_actions;
35
pub mod edit_config;
@@ -14,8 +16,8 @@ pub enum View {
1416
}
1517

1618
impl View {
17-
#[allow(dead_code)]
18-
pub fn draw_screen(&self) {
19+
#[allow(dead_code, unused_variables)]
20+
pub fn draw_screen(&self, state: ViewModelState) {
1921
match self {
2022
View::MailingListSelection => todo!(),
2123
View::BookmarkedPatchsets => todo!(),

0 commit comments

Comments
 (0)