use crossterm::event::{KeyEvent, MouseEvent};
use eyre::Result;
use ratatui::prelude::{Frame, Rect};
use crate::app_action::AppAction;
use crate::app_event::AppEvent;
pub trait Component {
fn init(&mut self) -> Result<()> {
Ok(())
}
#[allow(unused)]
fn handle_event(&mut self, event: AppEvent) -> Result