aboutsummaryrefslogtreecommitdiff
path: root/src/components/hello_world.rs
blob: 2e3a2ee09f160f8ae0ba6a29472f1c01f6069c1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use ratatui::prelude::*;
use ratatui::widgets::Paragraph;

use crate::app_action::AppAction;
use crate::component::Component;
use crate::keys::key_commands::*;

#[derive(Default, Clone)]
pub struct HelloWorld {
    pub text: String,
}

impl Component for HelloWorld {
    fn init(&mut self) -> eyre::Result<()> {
        self.text = "Hello, world!".to_string();
        Ok(())
    }

    fn handle_key_event(
        &mut self,
        key: crossterm::event::KeyEvent,
    ) -> eyre::Result<Option<AppAction>> {
        self.text = serialize_key_event(key);
        Ok(None)
    }

    fn render(&mut self, frame: &mut Frame, rect: Rect) -> eyre::Result<()> {

        frame.render_widget(Paragraph::new(self.text.clone()), rect);

        Ok(())
    }
}