/// RFC 00 目标 example
///
/// 假设框架已完成以下能力：
/// - `App::new(root).run()` 启动应用
/// - `Component` trait（render + event + style）
/// - 按 q 退出，终端恢复正常
///
/// 当前状态：Phase 0 结束时此 example 仍无法运行（Component/Runtime 在 Phase 2 实现），
/// 但可以作为目标代码指导 Phase 0-2 的开发方向。

use lv_tui::prelude::*;

struct Hello;

impl Component for Hello {
    fn render(&self, cx: &mut RenderCx) {
        cx.text("hello lv-tui");
    }

    fn event(&mut self, event: &Event, cx: &mut EventCx) {
        if event.is_key(Key::Char('q')) {
            cx.quit();
        }
    }
}

fn main() -> lv_tui::Result<()> {
    App::new(Hello).run()
}
