use ratatui::{buffer, layout};
mod select_screen;
pub use select_screen::SelectScreen;
pub use select_screen::StatsShow;
mod display_screen;
pub use display_screen::DisplayScreen;
use crate::{error, ui};
pub trait Screen {
fn draw(&self, area: layout::Rect, buf: &mut buffer::Buffer);
fn update(&mut self, key: ratatui::crossterm::event::KeyEvent) -> error::Result<ui::Message>;
}
fn extract_string_and_clear(area: &mut tui_textarea::TextArea<'static>) -> Option<String> {
let res = area.lines().first().cloned();
area.select_all();
area.cut();
res
}